Apache Beam - 将大查询读取为通用记录(Avro 格式)

Posted

技术标签:

【中文标题】Apache Beam - 将大查询读取为通用记录(Avro 格式)【英文标题】:Apache Beam - Reading Big Query as Generic Records (Avro format) 【发布时间】:2021-11-20 03:09:03 【问题描述】:

我正在尝试读取 Dataflow 上的 BigQuery 数据,我想将其读取为通用记录类型而不是 TableRows。有什么方法可以直接加载为通用记录而不需要从 TableRows 转换为通用记录?

【问题讨论】:

了解 avro IO 连接器beam.apache.org/documentation/io/built-in 【参考方案1】:

SchemaAndRecord 已经包含GenericRecord。那么你能做这样的事情吗?

BigQueryIO.read(
        (SerializableFunction<SchemaAndRecord, GenericRecord>) input -> input.getRecord());

【讨论】:

以上是关于Apache Beam - 将大查询读取为通用记录(Avro 格式)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache Beam 从数据库中读取批量数据

apache-beam 从 GCS 存储桶的多个文件夹中读取多个文件并加载它 bigquery python

无法在 DataFlow Apache Beam 中创建通用日期转换类

Apache Beam 记录带有错误标签的消息

Apache Beam 处理文件

从 Apache Beam 中的多个文件夹读取文件并将输出映射到文件名