当前位置:   article > 正文

Flink,join,coGroup,connect,union的区别、使用和实_flink join和connect

flink join和connect

join:

1 可用于DataStream和DataSet。只能2个DataStream一起join,或者2个DataSet一起join

2 用于DataStream时返回是JoinedStreams  ,用于DataSet时返回是JoinOperatorSets  

3 用于DataStream时需要与窗口同时使用,语法是:join where equalTo window apply ,用于DataSet时的语法是:join where equalTo with (where是指定第一个输入的分区字段,equalTo是指定第二个输入的分区字段,这2个字段类型需要一致)

4 与SQL中的inner join同义,只输出2个实时窗口内或2个数据集合内能匹配上的笛卡尔积,不能匹配上的不输出。

5 apply方法中或with方法中均可以使用JoinFunction或 FlatJoinFunction处理匹配上的数据对(用于DataStream和DataSet时均可)

6 侧重对2个输入里的 数据对 进行处理,join方法的入参是单个数据

7 可以join2个类型不同的流或join2个类型不同的数据集(比如Tuple2<String, Long> join Tuple2<Long,String>),但是匹配的key或field类型要一致,不然报错(比如where中的String与equalTo中的String匹配才行)

Flink,join双流,join实例,java版本

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号