【问题标题】:Best approach loading a text file (.txt) to bigquery table将文本文件 (.txt) 加载到 bigquery 表的最佳方法
【发布时间】:2020-01-23 11:41:59
【问题描述】:

关于将文本文件上传到 bigquery 表的最佳方法是什么,有人有任何实际的想法吗?我有一些压缩文本文件需要从远程 SFTP 服务器下载并将其加载到 bigquery 表中。我应该将它下载到谷歌云存储并从那里上传到 bigquery 以获得更快的速度吗?每个文本文件大约 5GB,并且会进一步增长。 谢谢。

【问题讨论】:

  • 这是一项经常性的任务,还是一次性的?
  • 本地数据源中的数据大小是多少?
  • Sorry 应该是指文本文件 .txt。是的,它将在每个月底重复加载。

标签: google-bigquery


【解决方案1】:

根据documentation,如果您从本地数据源加载文件,首先要考虑的是有限制。

从本地数据源加载数据受到以下限制:

加载时不支持通配符和逗号分隔的列表 来自本地数据源的文件。文件必须单独加载。 使用经典 BigQuery 网页界面时,从本地数据加载的文件 源文件的大小不得超过 10 MB,并且包含的​​行数不得超过 16,000 行。

此外,通过上面提供的链接,还有如何使用控制台或 CLI 上传数据的说明。

不过,使用云存储,您可以利用长期存储,这意味着您无需将数据加载到 bigquery 中,而是将数据存储在 Cloud Storage 中。你可以阅读更多关于它的信息here

最后,我希望你考虑两点External and Natives tables in bigquery

原生表:由原生 BigQuery 存储支持的表。

外部表:由 BigQuery 外部存储支持的表。更多 信息,请参阅查询外部数据源。

换句话说,您可以使用原生表在 BigQuery 中导入完整数据。因此,在执行数据分析时,它往往会更快。同时,外部表不在 BigQuery 中存储数据,而是从外部源引用数据。

cost of storing in BigQuery 高于 Cloud storage。虽然,查询外部表比查询本机表要慢,主要是在文件非常大的情况下。最后,由于外部表是指向文件的指针,因此您不必等待数据加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    • 2011-11-19
    • 2016-01-01
    相关资源
    最近更新 更多