Rumah  >  Artikel  >  Java  >  Cara menggunakan Java untuk membangunkan aplikasi pemprosesan strim dan pemprosesan kelompok berdasarkan Apache Flink

Cara menggunakan Java untuk membangunkan aplikasi pemprosesan strim dan pemprosesan kelompok berdasarkan Apache Flink

WBOY
WBOYasal
2023-09-20 08:29:07646semak imbas

如何使用Java开发一个基于Apache Flink的流处理和批处理应用

Cara menggunakan Java untuk membangunkan aplikasi pemprosesan strim dan pemprosesan kelompok berdasarkan Apache Flink

Pengenalan:
Apache Flink ialah rangka kerja pemprosesan strim sumber terbuka dan pemprosesan kelompok yang berkuasa dengan daya pemprosesan tinggi, kebolehpercayaan tinggi dan Kelewatan kos rendah ciri-ciri. Artikel ini akan memperkenalkan cara menggunakan Java untuk membangunkan aplikasi pemprosesan strim dan pemprosesan kelompok berdasarkan Apache Flink, dan memberikan contoh kod terperinci.

1. Persediaan persekitaran

  1. Pasang JDK: Pastikan komputer anda telah dipasang Java Development Kit (JDK). Anda boleh memuat turun JDK dari laman web rasmi Oracle dan memasangnya mengikut panduan rasmi.
  2. Muat turun Apache Flink: Anda boleh memuat turun versi terkini Flink dari tapak web rasmi Apache Flink. Nyahzip fail zip yang dimuat turun ke lokasi yang sesuai.
  3. Pasang IDE: Anda boleh memilih IDE yang sesuai dengan anda untuk pembangunan. Adalah disyorkan untuk menggunakan Eclipse atau IntelliJ IDEA.

2. Penciptaan projek

  1. Buat projek Java baharu dalam IDE dan namakannya "flink-demo".
  2. Salin fail Apache Flink yang dimuat turun dan dinyahzip ke direktori akar projek.

3. Perkenalkan dependencies

  1. Tambahkan dependensi berikut dalam fail build.gradle projek:

    dependencies {
     compileOnly project(":flink-dist")
     compile group: 'org.apache.flink', name: 'flink-core', version: '1.12.2'
     compile group: 'org.apache.flink', name: 'flink-streaming-java', version: '1.12.2'
     compile group: 'org.apache.flink', name: 'flink-clients', version: '1.12.2'
    }
  2. Dalam IDE, klik kanan direktori akar projek dan pilih "Refresh Gradle Project" untuk mengemas kini projek .

4. Laksanakan aplikasi pemprosesan aliran Flink

  1. Buat pakej baharu dalam direktori src/main/java dan namakannya "com.flinkdemo.stream".
  2. Buat kelas Java bernama "StreamProcessingJob" dan laksanakan logik pemprosesan strim di dalamnya.

    package com.flinkdemo.stream;
    
    import org.apache.flink.streaming.api.datastream.DataStream;
    import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
    
    public class StreamProcessingJob {
    
     public static void main(String[] args) throws Exception {
         // 创建一个执行环境
         final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    
         // 从socket接收数据流
         DataStream<String> text = env.socketTextStream("localhost", 9999);
    
         // 打印接收到的数据
         text.print();
    
         // 启动执行环境
         env.execute("Stream Processing Job");
     }
    }
  3. Dalam IDE, klik kanan kelas StreamProcessingJob dan pilih "Run As" -> "Java Application" untuk memulakan aplikasi.

5. Laksanakan aplikasi pemprosesan kumpulan Flink

  1. Buat pakej baharu dalam direktori src/main/java dan namakannya "com.flinkdemo.batch".
  2. Buat kelas Java bernama "BatchProcessingJob" dan laksanakan logik pemprosesan kelompok di dalamnya.

    package com.flinkdemo.batch;
    
    import org.apache.flink.api.java.ExecutionEnvironment;
    import org.apache.flink.api.java.DataSet;
    import org.apache.flink.api.java.tuple.Tuple2;
    
    public class BatchProcessingJob {
    
     public static void main(String[] args) throws Exception {
         // 创建一个执行环境
         final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    
         // 从集合创建DataSet
         DataSet<Tuple2<String, Integer>> dataSet = env.fromElements(
                 new Tuple2<>("A", 1),
                 new Tuple2<>("A", 2),
                 new Tuple2<>("B", 3),
                 new Tuple2<>("B", 4),
                 new Tuple2<>("C", 5)
         );
    
         // 根据key进行分组,并计算每组的元素个数
         DataSet<Tuple2<String, Integer>> result = dataSet
                 .groupBy(0)
                 .sum(1);
    
         // 打印结果
         result.print();
    
         // 执行任务
         env.execute("Batch Processing Job");
     }
    }
  3. Dalam IDE, klik kanan kelas BatchProcessingJob dan pilih "Run As" -> "Java Application" untuk memulakan aplikasi.

Kesimpulan:
Melalui pengenalan artikel ini, anda telah mempelajari cara menggunakan Java untuk membangunkan aplikasi pemprosesan strim dan pemprosesan kelompok berdasarkan Apache Flink. Anda boleh menambah lebih logik pada aplikasi penstriman dan pemprosesan kelompok anda mengikut keperluan anda, dan meneroka lebih banyak ciri dan fungsi Flink. Saya doakan anda mendapat keputusan yang baik dalam perjalanan pembangunan Flink anda!

Atas ialah kandungan terperinci Cara menggunakan Java untuk membangunkan aplikasi pemprosesan strim dan pemprosesan kelompok berdasarkan Apache Flink. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn