简介
Apache Beam 是谷歌开源的统一批处理和流处理的编程模型和SDK。
核心概念
- Pipeline:管道是整个数据的处理流程,包括数据输入,转换,数据输出。每个程序必须创建Pipeline,并通过Pipeline指定执行Runner和执行方式等。
- PCollection:Pipeline处理的的分布式数据集。数据集可以是有限的或是无限的,PCollection是Pipeline中每个步骤的输入和输出。
- Transform:Pipeline中的数据处理操作或步骤。每个Transform将一个或多个PCollection对象作为输入,执行对该PCollection的元素提供的处理函数,并生成一个或多个输出PCollection对象。
- I / O Source/Sink:数据的输入和输出IO。
- Runner
- ParDo:类似于Flink/Spark中Map操作的算子,一般会内嵌一个DoFn。
- DoFn:Beam中ParDo中编写业务逻辑的对象。
ParDo
GroupByKey
CoGroupByKey
Combine
Flatten
Partition
参考资料
https://blog.csdn.net/ffjl1985/article/details/78055152
https://beam.apache.org/documentation/programming-guide/#what-is-a-schema
https://beam.apache.org/documentation/io/built-in/