Flink 的DataStream 和 DataSet区别

DataSet与DataStream的区别、使用

  • DataSet同DataStream从其接口封装、真实计算Operator有很大的差别,Dataset的实现在flink-javamodule中,而DataStream的实现在flink-streaming-java中;
  • DataSet: 批式处理,其接口封装类似于Spark的Dataset,支持丰富的函数操作,比如map/fliter/join/cogroup等;
    • 数据源创建初始数据集,例如来自文件或Java集合等静态数据;
    • 所有的操作为Operator的子类,实现具体逻辑,比如Join逻辑是在JoinOperator中实现;
  • DataStram: 流式处理,其结构封装实现输入流的处理,其也实现了丰富的函数支持;
    • 所有的操作为StreamOperator的子类,实现具体逻辑,比如Join逻辑是在IntervalJoinOperator中实现的;

当前Flink中的使用中主要还是使用DataStream的较多,网上查看DataSet的使用场景少一点;

参考:https://www.jianshu.com/p/9d5ad4bd0cb7

你可能感兴趣的:(Flink)