Beam简介

简介

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

Beam 常用注解

@DefaultSchema(JavaBeanSchema.class)

@DefaultSchema(JavaFieldSchema.class)

@SchemaCreate 

@SchemaFieldName 

@SchemaIgnore 

@DefaultSchema(AutoValueSchema.class) @AutoValue

 

参考资料

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/

posted @ 2020-11-05 17:27  粒子先生  阅读(601)  评论(0编辑  收藏  举报