【问题标题】:Google BigQuery - Import CSV - How to match columns?Google BigQuery - 导入 CSV - 如何匹配列?
【发布时间】:2017-12-04 10:11:12
【问题描述】:

我通过 CSV 定期导入 BigQuery,效果很好。

CSV 文件格式为:

  • [第一行] - 标题 = 与该列完全匹配的列名 我要导入的 BigQuery 表中的名称

  • [其余行] = 数据

但是,我的 CSV 中列的顺序最近发生了变化,并且在导入 BigQuery 时 - CSV 中的列名与 BigQuery 表中的列名不匹配。它们基本上是按照 CSV 列的顺序导入的,这是错误的。

有没有办法告诉 BigQuery 我的 CSV 中的哪一列转到 BigQuery 表中的哪一列?

我使用的是官方的 PHP 库。

示例:https://github.com/GoogleCloudPlatform/php-docs-samples/blob/master/bigquery/api/src/functions/import_from_file.php

【问题讨论】:

    标签: csv google-bigquery


    【解决方案1】:

    CSV 导入与列名不匹配(假设您使用第一行命名列)。

    您可以做的最好的事情是导入到与新文件的列顺序匹配的不同表中,然后运行 ​​SELECT 将重新排序的列输出到现有表中。

    【讨论】:

      【解决方案2】:

      如果您可以控制 CSV 的创建方式,还可以使用 BigQuery 客户端获取表中列的当前顺序,然后根据该顺序生成文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-12
        • 2021-10-01
        • 2016-09-26
        • 2014-03-14
        • 1970-01-01
        • 2017-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多