我阅读了其他类似的帖子并在 Google 上搜索以找到更好的方法,但找不到任何可行的解决方案。
我在 BigQuery 中有一个大型表(假设每天插入 2000 万行)。我想要在 python/pandas/dask 中拥有大约 2000 万行、大约 50 列的数据来进行一些分析。我尝试过使用 bqclient、panda-gbq 和 bq 存储 API 方法,但在 python 中需要 30 分钟才能拥有 500 万行。还有其他方法吗?甚至有任何 Google 服务可以完成类似的工作吗?
最佳答案
您可以随时将内容导出到云存储 -> 本地下载 -> 加载到您的 dask/pandas 数据框中,而不是查询:
导出+下载:
bq --location=US extract --destination_format=CSV --print_header=false 'dataset.tablename' gs://mystoragebucket/data-*.csv && gsutil -m cp gs://mystoragebucket/data-*.csv /my/local/dir/
加载到 Dask 中:
>>> import dask.dataframe as dd >>> df = dd.read_csv("/my/local/dir/*.csv")
希望有帮助。
关于pandas - 从 BigQuery 加载大量数据到 python/pandas/dask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55033606/