将 CSV 文件从 Google Drive 加载到 BigQuery

Posted

技术标签:

【中文标题】将 CSV 文件从 Google Drive 加载到 BigQuery【英文标题】:Loading CSV files from Google Drive to BigQuery 【发布时间】:2018-04-27 10:51:04 【问题描述】:

我希望将我的 CSV 数据从 Google Drive 完全下载到 Bigquery,就像其中的本机表一样。但是,当我要上传数据时,表格类型选项不可用,我别无选择,只能使用“外部表格”选项。

这真的很不方便,因为我将来获得的数据量对于 Drive Storage 来说太重要了。

我的问题是:是否可以将 CSV 文件从 Drive 加载到 BigQuery 作为本机表,还是我必须在两者之间使用 Google Storage,从而使过程比现在更加复杂?

【问题讨论】:

【参考方案1】:
    为云端硬盘上的文件创建一个外部表。 运行CREATE TABLE dataset.NewTable AS SELECT * FROM dataset.ExternalTable 形式的查询。现在,您可以将文件内容保存在 BigQuery 管理的表中,而无需复制到 Cloud Storage。

【讨论】:

您的回答表明我在 BigQuery 和 SQL 方面还有很多东西要学,非常感谢!【参考方案2】:

您只能使用 Big Query UI 来执行此操作。它是使用 2 个表完成的:

    创建一个将链接到您的源的表格(Google Drive 上的 CSV 或 GS​​heets,CSV 更适合我)。对于此单击 BigQuery 中的“新表”,选择“驱动器”源并添加指向 CSV 的链接。然后完成所有其他设置并单击“创建表”。

    为第一个表创建查询,单击齿轮图标并在目标的查询设置中选择“为查询结果设置目标表”。添加新表的名称,在目标表首选项中选择“如果为空则写入”,完成所有其他设置,您就完成了。下次如果您想在此表中添加内容,您可以从第一个表中更新您的 CSV,然后选择“追加”或“重写”选项。

如果您需要了解所有其他设置,可以阅读 BigQuery 文档。

【讨论】:

以上是关于将 CSV 文件从 Google Drive 加载到 BigQuery的主要内容,如果未能解决你的问题,请参考以下文章

将文件从 Google Drive 加载到 Bigquery

通过 Google Drive API 从本地 CSV 文件创建 Google Drive 电子表格

是否可以从 Google Drive 自动将内容上传到 Cloud Storage?

Pandas:如何从 google drive public 读取 CSV 文件?

BigQuery 自动检测架构导致加载 Google Drive CSV 失败

Python,pandas.read_csv 来自 Google Drive 文件的 1000 万行大型 csv 文件