Flink 学习笔记 API 概览(二)
代码架构
执行环境
1
2
3
4
5// 流处理环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
// 批处理环境
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();创建数据源
基于Java集合:
fromCollection(Collection)
等基于文件的source:
readTextFile(path)
,readFile(fileInputFormat, path)
等基于网络套接字的 source:
socketTextStream
自定义的source:数据源从外部系统例如 Apache Kafka、Rabbit MQ 或者 Apache Pulsar 接收数据,然后将数据送到 Flink 程序中。
1
env.addSource(new XXSource());
对数据执行转换操作 Transformation
Map,FlatMap,Filter,KeyBy,Reduce 等
输出结果 sink
打印结果
输出文件
写入 socket
自定义的:sink 会将
DataStream
写出到外部系统,例如 Apache Kafka、Cassandra 或者 AWS Kinesis 等。运行作业
Flink 程序是懒加载的,并且只有在完全搭建好之后,才能够发布到集群上执行。 调用
StreamExecutionEnvironment#execute
时给任务传递一个任务名参数,就可以开始运行任务。1
env.execute("Socket Window WordCount");
- 本文作者: Kelly Liu
- 本文链接: http://tiantianliu2018.github.io/2020/03/24/Flink-学习笔记API(二)/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!