Google BigQuery - 导入CSV - 如何匹配列?

时间:2017-06-30 12:36:13

标签: csv google-bigquery

我通过CSV定期导入BigQuery,工作正常。

CSV文件格式为:

  • [1st line] - header =与列完全匹配的列名 我要导入到

  • 的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

2 个答案:

答案 0 :(得分:2)

CSV导入不符合列的名称(假设您使用第一行命名列)。

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

答案 1 :(得分:0)

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