【问题标题】:How to create BigQuery table with required fields from DataFlow with string schema definition?如何使用字符串架构定义从 DataFlow 创建包含必填字段的 BigQuery 表?
【发布时间】:2019-02-11 14:17:52
【问题描述】:

我正在使用 DataFlow 的 WriteToBigQueryCREATE_IF_NEEDED,因此必须指定架构。

我在代码的开头(在实际管道之外)定义了架构,但由于我需要标志 --save_main_session,我得到了与 here 相同的错误,这说明架构不能与管道,因为 BigQuery 架构定义不可腌制。

页面上提到的解决方案对我来说不是一个选项(禁用--save_main_session 标志),因此指定架构的other option 是通过字符串。 但是,我需要将一些字段设置为REQUIRED。有没有办法用字符串模式定义来做到这一点?

【问题讨论】:

    标签: google-bigquery google-cloud-dataflow


    【解决方案1】:

    bigquery.py 可以看出,从字符串模式到 TableSchema 的转换非常简单,并且确实将模式设置为 NULLABLE。也许您可以根据此代码 sn-p 创建带有 REQUIRED 字段的 TableSchema。

    【讨论】:

    • 感谢您链接代码。在该 sn-p 中包含 REQUIRED 标志将是一个小的调整。但我无法自己生成 TableSchema,因为它不可腌制。你知道如何规避这个问题吗?
    • 你能用另一种格式表达模式吗,例如JSON,将其传递给您的代码,然后仅将其转换为TableSchema
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 2011-03-14
    • 2014-11-24
    • 2014-08-07
    • 2014-05-17
    • 2015-03-25
    相关资源
    最近更新 更多