high->map
low
map后的high和low进行coMap得到了合流
flink支持的数据类型:
flink流应用程序处理的是以数据对象表示的事件流,所以再flink内部,我们需要能够处理这些对象,他们需要被序列化和反序列化
基础数据类型:Flink支持所有的Java和scala基础数据类型,Int,Double,Long,String
Java和Scala元组(Tuples)
val persons:DataStream[(String,Integer)]=env.fromElements(
("zhangsan",18),
("lisi",25))
persons.filter(
p => p._2 >18)
Scala样例类(case class)
其他(Arrays,Lists,Maps,Enums等待)
Sink
Flink没有类似于spark中的foreach方法,让用户进行迭代的操作,虽然有对外的输出操作都是利用Sink完成的,最后通过类型如下的方法完成整个任务的最终输出操作:
stream.addSink(new MySink(xxxx))
官方提供了一部分的框架的sink,除此之外,需要用户自定义实现sink
|