【发布时间】:2020-04-17 09:39:01
【问题描述】:
我正在尝试将文件从 GCS 加载到 BigQuery,其架构是从 GCS 中的文件自动生成的。我正在使用 Apache Airflow 来做同样的事情,我遇到的问题是,当我使用文件中的自动检测架构时,BigQuery 会根据大约 100 个初始值创建架构。
例如,在我的例子中,有一列说X,X 中的值大部分是Integer 类型,但也有一些值是String 类型,所以bq load 将由于架构不匹配而失败,在这种情况下,我们需要将数据类型更改为STRING。
所以我可以做的是通过自己生成架构来手动创建一个新表。或者我可以将max_bad_record 的值设置为50,但这似乎不是一个好的解决方案。一个理想的解决方案是这样的:
- 尝试将文件从 GCS 加载到 BigQuery,如果表在
BQ中创建成功且没有任何数据不匹配,则无需执行任何操作。 - 否则我需要能够动态更新架构并完成表创建。
【问题讨论】: