在 beam.io.writetobigquery 中使用模式更新选项

Posted

技术标签:

【中文标题】在 beam.io.writetobigquery 中使用模式更新选项【英文标题】:Using schema update option in beam.io.writetobigquery 【发布时间】:2020-10-13 19:45:32 【问题描述】:

我正在使用 Apache Beam 数据流将一堆日志文件加载到 BigQuery 中。通过向文件添加新列,文件格式可以在一段时间内发生变化。我看到了架构更新选项ALLOW_FILED_ADDITION

有人知道怎么用吗?这就是我的WriteToBQ 步骤的样子:

| 'write to bigquery' >> beam.io.WriteToBigQuery('project:datasetId.tableId', ,write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND)

【问题讨论】:

【参考方案1】:

我实际上还没有尝试过,但深入研究文档后,您似乎可以使用 additional_bq_parameters 将您喜欢的任何配置传递给 BigQuery 加载作业。在这种情况下,它可能看起来像:

| 'write to bigquery' >> beam.io.WriteToBigQuery(
    'project:datasetId.tableId',
    write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND,
    additional_bq_parameters=
        'schemaUpdateOptions': [
            'ALLOW_FIELD_ADDITION',
            'ALLOW_FIELD_RELAXATION',
        ]
    
)

奇怪的是,这实际上是在 Java SDK 中,但似乎没有进入 Python SDK。

【讨论】:

以上是关于在 beam.io.writetobigquery 中使用模式更新选项的主要内容,如果未能解决你的问题,请参考以下文章

NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?

存储在 plist 中的数据在模拟器中有效,但在设备中无效

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据