【问题标题】:How to load a BigQuery table to Cloud Storage如何将 BigQuery 表加载到 Cloud Storage
【发布时间】:2021-10-10 16:33:41
【问题描述】:

我在 BigQuery 中有一个 32 GB 的表,我需要通过 Jupyter Notebook(使用 Pandas)进行一些调整并以 .txt 文件的形式导出到 Cloud Storage。

如何做到这一点?

【问题讨论】:

  • 我猜这个数据量会太大而无法在 pandas 中操作,因为建议使用5-10x the amount of RAM as the size of your dataset。您可以直接在 BigQuery 中使用 SQL 进行操作,然后按照@Alfons 在他的回答中推荐的方式导出吗?

标签: python pandas google-cloud-platform google-bigquery jupyter-notebook


【解决方案1】:

您似乎可以only export 1 GB at a time,因此您最好的选择可能是查询前 1 GB 的行,然后查询接下来的 1 GB,依此类推,然后以这种方式单独保存它们。一旦您知道每行大约占用多少存储空间,就可以使用bq 工具编写所有这些内容。这有意义吗?

【讨论】:

    【解决方案2】:

    您可以使用 Google Cloud Platform Console 来执行此操作。

    1. 在 Cloud Console 中转到 Bigquery。
    2. 选择要导出的表并选择“导出”,然后选择导出到 GCS。
    3. 由于您的表大于 1GB,请务必在文件名中添加通配符,以便 Bigquery 以大约 1GB 的块(即 export-*.csv)导出数据。

    您不能以 CSV 格式导出嵌套和重复的数据。 Avro、JSON 和 Parquet(预览版)导出支持嵌套和重复数据。无论如何,当您尝试选择文件格式时,表单会告诉您是否可以。

    【讨论】:

    • 那不行,因为我仍然需要通过 Pandas 进行一些转换,因为表格需要一些调整。
    • 您可以从 Jupiter notebook 访问 CSV 文件并进行操作。还是您需要在导出数据之前对其进行操作?如果是这样,您将需要执行一些 SQL 语法。
    猜你喜欢
    • 1970-01-01
    • 2014-08-07
    • 2021-12-28
    • 1970-01-01
    • 2013-05-24
    • 2019-05-01
    • 2018-03-28
    • 1970-01-01
    相关资源
    最近更新 更多