将大型数据集导入 Cloud Datalab
Getting large datasets into Cloud Datalab
是否可以将大型数据集放入 pandas DataFrame?
我的数据集大约是。 1.5 Gb 未压缩(用于聚类的输入),但是当我尝试使用 bq.Query(...)
select Table 的内容时,它会抛出异常:
RequestException: Response too large to return. Consider setting allowLargeResults to true in your job configuration. For more information, see https://cloud.google.com/bigquery/troubleshooting-errors
查看 https://cloud.google.com/bigquery/querying-data?hl=en 其中指出,
You must specify a destination table.
感觉发送大型查询的唯一地方是另一个 Table(然后单击导出到 GCS 并下载)。
随着分类行被写回数据库,还会有一次(可能是大量的回写)。
相同的数据集在我的 16Gb 笔记本电脑上运行良好(几分钟之内),但随着我们的数据移动到云端,我正在考虑迁移到 Datalab。
非常感谢,感谢您的帮助
如果您的结果已经在 Table 中,您可以使用 Table.to_dataframe()
否则,您将需要 运行 使用 execute() 进行查询,并根据您的说明指定目的地 table 名称,并且 allow_large_results=True 参数(之后您可以执行to_dataframe() 调用如上)。
请注意,您可能对此有疑问; 运行 是 Python 内核的默认 VM 非常基础。您可以使用 URL 参数部署功能更强大的虚拟机;例如:
同时,如前所述,您可以通过一些 URL 参数将 Datalab 部署到更大的 VM。例如:
http://datalab.cloud.google.com?cpu=2&memorygb=16
是否可以将大型数据集放入 pandas DataFrame?
我的数据集大约是。 1.5 Gb 未压缩(用于聚类的输入),但是当我尝试使用 bq.Query(...)
select Table 的内容时,它会抛出异常:
RequestException: Response too large to return. Consider setting allowLargeResults to true in your job configuration. For more information, see https://cloud.google.com/bigquery/troubleshooting-errors
查看 https://cloud.google.com/bigquery/querying-data?hl=en 其中指出,
You must specify a destination table.
感觉发送大型查询的唯一地方是另一个 Table(然后单击导出到 GCS 并下载)。
随着分类行被写回数据库,还会有一次(可能是大量的回写)。
相同的数据集在我的 16Gb 笔记本电脑上运行良好(几分钟之内),但随着我们的数据移动到云端,我正在考虑迁移到 Datalab。
非常感谢,感谢您的帮助
如果您的结果已经在 Table 中,您可以使用 Table.to_dataframe()
否则,您将需要 运行 使用 execute() 进行查询,并根据您的说明指定目的地 table 名称,并且 allow_large_results=True 参数(之后您可以执行to_dataframe() 调用如上)。
请注意,您可能对此有疑问; 运行 是 Python 内核的默认 VM 非常基础。您可以使用 URL 参数部署功能更强大的虚拟机;例如:
同时,如前所述,您可以通过一些 URL 参数将 Datalab 部署到更大的 VM。例如:
http://datalab.cloud.google.com?cpu=2&memorygb=16