BigQuery - 如何在不使用列名作为值的情况下导入 CSV?

Posted

技术标签:

【中文标题】BigQuery - 如何在不使用列名作为值的情况下导入 CSV?【英文标题】:BigQuery - How to import CSV without using the column names as values? 【发布时间】:2017-04-20 10:28:49 【问题描述】:

我有一项自动化工作,每天将 CSV 文件上传到 BigQuery 表中。它工作正常,但是,每次我进行导入时,它都会将标题(第一行)作为值插入到我不想要的表中。我必须使用标题,以便 BigQuery 知道如何映射列名。有没有办法以某种方式指定“跳过第一行”或类似的东西?

我正在使用此功能进行导入:

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

【问题讨论】:

【参考方案1】:

听起来你想设置skipLeadingRows option。参考您链接的示例,它将是这样的:

$options['jobConfig'] = [
  'sourceFormat' => 'CSV',
  'skipLeadingRows' => 1
];

当您启动加载作业时,这将跳过 CSV 文件中的第一行(包含标题)。

【讨论】:

以上是关于BigQuery - 如何在不使用列名作为值的情况下导入 CSV?的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery/SQL:如何使用列值作为列名? [复制]

查找要插入 BigQuery 的列名

如何使用 BigQuery 在没有每个元素的情况下获取所有总和值?

是否有任何特定符号用于为 BigQuery 指定列名?

如何在不使用 Join 的情况下处理引用其他表的相关子查询的问题

如何在不创建架构的情况下将 CSV 文件加载到 BigQuery