flink流处理程序的一般流程

1)获取flink流处理执行环境
2)构建source
3)数据处理
4)构建sink

20200604——flink datastream开发

与批处理相比
1.运行环境不同,streamexecutionenvironment
2.有些算子不同
3.程序是一直运行的,除非我们手动停止

输入数据集data source

flink中你可以使用streamexecutionenvironment.addSource(source)来为程序添加数据来源

flink已经提供了若干实现好的source functions,当然你也可以通过实现sourcefunction来自定义非并行的source或者实现parallesourcefunction接口或拓展richparallesourcefunction来自定义source

flink在流处理上常见的source

基本有四大类

基于本地集合
基于文件
基于网络套接字
自定义source

transformnation

keyby

按照指定的key来进行分流,类似于批处理的groupby

connect

connect用来将两个datastream组成一个connectedstreams
数据类型可以不同
但是union必须要求数据类型一致才能union

split和select

split就是将一个datastream分成多个流,用splitstream来表示datastream-splitstream

select就是获取分流后对应的数据,跟split搭配使用,从splitstream中选择一个或者多个流,splitstream - datastream

数据输出data sinks

将数据sink存到本地文件

将数据sink到本地集合

将数据存到hdfs

将数据存到mysql

相关文章: