Flin(二):DataStream API_算子
一、流元素
Flink的DataStream Api 支持的流元素:
1、基本类型:例如字符串、整型、布尔型、数组等;
2、Java元组和POJO类型
3、Scala元素组和case类;
二、执行环境
每个Flink应用需要一个执行环境,流处理应用需要StreamExecutionEnvironment,例如:
treamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream API调用构成一个数据流附加到执行环境,当调用env.execute()时,数据流将被打包并发送到作业管理器(JobManager),JobManager将作业并行化切片并分发到任务管理器(TaskManager)执行。作业的每个并行切片将在一个任务槽(task slot)中执行。
注意:调用execute()时应用才真正开始运行。
三、算子
source算子(StreamExecutionEnvironment类的方法)
fromElements():从指定元素创建流fromCollection():从指定集合创建流fromSequence():从整数区间创建流readTextFile():读取文本文件,每行作为一个元素socketTextStream():从套接字读取数据,使用指定的分隔符addSource():使用自定义source函数,见DataStream Connectors
转换算子(DataStream及其子类的方法)
map():元素一对一映射flatMap():元素一对n映射filter():按指定的条件过滤元素keyBy():按指定的key分组reduce():对已分组的流进行聚合union():合并多个流
sink算子(DataStream及其子类的方法)
print():将每个元素打印到标准输出流writeAsText():写入文本文件,每个元素占一行writeAsCsv():写入CSV文件writeToSocket():写入套接字addSink():使用自定义sink函数


浙公网安备 33010602011771号