GCP 数据流 JOB REST 响应添加 displayData 对象 { "key":"datasetName", ...}

GCP Dataflow JOB REST response add displayData object with { "key":"datasetName", ...}

为什么此行代码不使用 { "key":"datasetName", ...} 生成 displayData 对象,如果在使用来自 apache beam 的 BigQuery 源时默认情况下未出现,我如何生成它?

bigqcollection = p | 'ReadFromBQ' >> beam.io.Read(beam.io.BigQuerySource(project=project,query=get_java_query))

[更新] 添加我尝试生成的结果:

"displayData": [
                    {
                        "key": "table",
                        "namespace": "....",
                        "strValue": "..."
                    },          
                    {
                        "key": "datasetName",
                        "strValue": "..."
                    }
]

在最新版本的 Beam 中读取 the implementation of display_data()BigQuerySource,它不会从您的示例使用的查询中提取 table 和数据集。更重要的是,它不会创建任何专门命名为 datasetName.

的字段

我建议编写 _BigQuerySource 的子类,它可以将您需要的字段添加到显示数据中,同时保留所有其他行为。