如何使用 Dataflow Python SDK 读取 BigQuery 嵌套表
How to read BigQuery nested tables using Dataflow Python SDK
如何使用 Apache Beam Python SDK 读取嵌套结构?
lines = p | io.Read(io.BigQuerySource('project:test.beam_in'))
结果
"reason": "invalidQuery",
"message": "Cannot output multiple independently repeated fields at the same time. Found classification_item_distribution and category_cat_name"
是否可以读取嵌套结构?
这是 BigQuery 的 属性。执行此类查询的两种方法是禁用结果扁平化(通过 BigQuery)或显式扁平化查询中的字段。
对于当前的 Python SDK,只有后者可用 - 请参阅“Flattening Google Analytics data (with repeated fields) not working anymore”以获取有关在何处以及如何调用 FLATTEN
函数的指南。
如果您想订阅更新或讨论,禁用扁平化的功能已归档为BEAM-877。
您现在可以直接在 Beam Python 中读取嵌套结果,方法是在创建源时添加 flatten_results=False
:
lines = p | io.Read(io.BigQuerySource('project:test.beam_in', flatten_results=False))
查看来源 here。
如何使用 Apache Beam Python SDK 读取嵌套结构?
lines = p | io.Read(io.BigQuerySource('project:test.beam_in'))
结果
"reason": "invalidQuery",
"message": "Cannot output multiple independently repeated fields at the same time. Found classification_item_distribution and category_cat_name"
是否可以读取嵌套结构?
这是 BigQuery 的 属性。执行此类查询的两种方法是禁用结果扁平化(通过 BigQuery)或显式扁平化查询中的字段。
对于当前的 Python SDK,只有后者可用 - 请参阅“Flattening Google Analytics data (with repeated fields) not working anymore”以获取有关在何处以及如何调用 FLATTEN
函数的指南。
如果您想订阅更新或讨论,禁用扁平化的功能已归档为BEAM-877。
您现在可以直接在 Beam Python 中读取嵌套结果,方法是在创建源时添加 flatten_results=False
:
lines = p | io.Read(io.BigQuerySource('project:test.beam_in', flatten_results=False))
查看来源 here。