配置jar包

  1. <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-clients -->
  2. <dependency>
  3. <groupId>org.apache.flink</groupId>
  4. <artifactId>flink-clients_2.12</artifactId>
  5. <version>1.13.2</version>
  6. </dependency>

数据汇总计算

  1. package top.windtown;
  2. import org.apache.flink.api.common.operators.Order;
  3. import org.apache.flink.api.java.DataSet;
  4. import org.apache.flink.api.java.ExecutionEnvironment;
  5. import org.apache.flink.api.java.tuple.Tuple2;
  6. /**
  7. * @author bill
  8. * @date 2021/9/19
  9. */
  10. public class WordCount {
  11. public static void main(String[] args) throws Exception {
  12. ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
  13. DataSet<String> source = env.readTextFile("C:\\code\\flinkdemo\\src\\main\\resources\\txt\\panda.txt");
  14. DataSet<Tuple2<String, Integer>> sum = source.flatMap(new MyFlatFunction())
  15. .groupBy(0)
  16. .sum(1)
  17. .sortPartition(1, Order.DESCENDING);
  18. sum.print();
  19. }
  20. }

流式计算

  1. package top.windtown;
  2. import org.apache.flink.api.java.tuple.Tuple2;
  3. import org.apache.flink.streaming.api.datastream.DataStreamSource;
  4. import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
  5. import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
  6. /**
  7. * @author bill
  8. * @date 2021/9/19
  9. */
  10. public class StreamWorkCount {
  11. public static void main(String[] args) throws Exception {
  12. StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
  13. env.setParallelism(8);
  14. // String filePath = "C:\\code\\flinkdemo\\src\\main\\resources\\txt\\panda.txt";
  15. // DataStream<String> source = env.readTextFile(filePath);
  16. DataStreamSource<String> source = env.socketTextStream("192.168.3.101", 7777);
  17. SingleOutputStreamOperator<Tuple2<String, Integer>> sum = source.flatMap(new MyFlatFunction())
  18. .keyBy(it -> it.getField(0))
  19. .sum(1);
  20. sum.print();
  21. env.execute();
  22. }
  23. }