Flink 实现无界流

打印 上一主题 下一主题

主题 1007|帖子 1007|积分 3021

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Flink 实现无界流
  1. package org.example.test;
  2. import org.apache.flink.api.common.functions.FlatMapFunction;
  3. import org.apache.flink.api.common.functions.MapFunction;
  4. import org.apache.flink.api.java.ExecutionEnvironment;
  5. import org.apache.flink.api.java.operators.AggregateOperator;
  6. import org.apache.flink.api.java.operators.DataSource;
  7. import org.apache.flink.api.java.operators.FlatMapOperator;
  8. import org.apache.flink.api.java.operators.UnsortedGrouping;
  9. import org.apache.flink.api.java.tuple.Tuple2;
  10. import org.apache.flink.streaming.api.datastream.DataStream;
  11. import org.apache.flink.streaming.api.datastream.DataStreamSource;
  12. import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
  13. import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
  14. import org.apache.flink.util.Collector;
  15. /**
  16. * DataSet API使用
  17. */
  18. public class WordCount2 {
  19.     public static void main(String[] args) throws Exception {
  20.         //该类主要是用于进行批处理
  21.         final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
  22.         //读取文本
  23.         DataSource<String> stringDataStreamSource = env.readTextFile("input/test.txt");
  24.         //进行ETL处理,Tuple2 是二元数组的意思
  25.         FlatMapOperator<String, Tuple2<String, Integer>> stringTuple2FlatMapOperator = stringDataStreamSource.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {
  26.             @Override
  27.             public void flatMap(String value, Collector<Tuple2<String, Integer>> out) throws Exception {
  28.                 String[] words = value.split(" ");
  29.                 for (String word : words) {
  30.                     Tuple2<String, Integer> oneTuple2 = Tuple2.of(word, 1);
  31.                     out.collect(oneTuple2);
  32.                 }
  33.             }
  34.         });
  35.         //进行分组,分组字段取下标第0个
  36.         UnsortedGrouping<Tuple2<String, Integer>> tuple2UnsortedGrouping =
  37.                 stringTuple2FlatMapOperator.groupBy(0);
  38.         //进行sum操作
  39.         AggregateOperator<Tuple2<String, Integer>> sum = tuple2UnsortedGrouping.sum(1);
  40.         sum.print();
  41.     }
  42. }
复制代码
ExecutionEnvironment 是批处置惩罚的方式,DataSource会慢慢被淘汰

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表