【问题标题】:How to model a BigQuery external table for changing the column structure?如何为 BigQuery 外部表建模以更改列结构?
【发布时间】:2019-10-28 22:06:17
【问题描述】:

我在源表 (MySQL) 中有 5 列 c1、c2、c3、c4、c5。我导出表格并添加到 GCS 中,例如 gs://data/table_name/YYYYMMDD/table_nameYYYYMMDDHHMMSS.csv

并且我导出了 3 个月的数据。

在后期阶段,添加了两个新列 c6 和 c7。现在 gs://data/table_name 中的导出文件将有 7 列

c4 列也有可能被删除。所以导出的文件会有6列,即c1、c2、c3、c5、c6、c7

如何对外部表进行建模以适应这些变化?

【问题讨论】:

  • "如何对外部表进行建模以适应这些变化?" "我有一个 5 列,c1,c2,c3,c4,c5 在源表 (MySQL)。” 如果列名具有递增的数字,则它们很可能(非常)适合规范化。您最有可能应该查看的内容,然后您可以简单地在服务器之间插入、更新和删除记录。
  • 是相同的 csv 文件名减去 c4 列 + c6 和 c7 吗?或者这是一个新的 csv 文件,其中包含 c1、c2、c3、c5、c6、c7,其数据与第一个 csv 文件相同的数据减去 c4 列 + c6 和 c7?请详细说明您的用例

标签: mysql database google-cloud-platform google-bigquery etl


【解决方案1】:

您要更改表架构吗?

试试bq update 命令。

https://cloud.google.com/bigquery/docs/managing-table-schemas

像这样。

$ bq show --schema --format=prettyjson projectId:Dataset.Table > schema.json

$ vim schema.json
---> Modify schema setting

$ bq update projectId:Dataset.Table schema.json

【讨论】:

    猜你喜欢
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2021-01-13
    • 2021-02-10
    • 2020-12-14
    • 2017-08-12
    • 2020-05-01
    相关资源
    最近更新 更多