pandas - 从 BigQuery 加载大量数据到 python/pandas/dask
问题描述
我阅读了其他类似的主题并搜索了谷歌以找到更好的方法,但找不到任何可行的解决方案。
我在 BigQuery 中有一个大表(假设每天插入 2000 万行)。我想在 python/pandas/dask 中有大约 2000 万行数据和大约 50 列来做一些分析。我曾尝试使用 bqclient、panda-gbq 和 bq 存储 API 方法,但在 python 中拥有 500 万行需要 30 分钟。还有其他方法吗?甚至任何可用于完成类似工作的 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")
希望能帮助到你。
推荐阅读
- types - 映射类型的 Solidity 大小
- google-cloud-bigtable - 从 Bigtable 导入表 - Google 云
- python - 从 settings.py 文件夹内的应用程序设置 AUTH_USER_MODEL
- excel - excel:查找每个组的最大日期的 total_log
- angularjs - 具有不同颜色AngularJs的clr-checkbox动态复选框集
- php - 我得到了似乎是一个无限循环的东西,无法弄清楚为什么 - PHP/WordPress
- cloudera - Cloudera Post 部署配置更新
- vue.js - Vuejs webpack 中 App.vue 与其他组件的关系
- aspnetboilerplate - 后台作业因“当前用户未登录应用程序”而失败
- python - 如何在python中的图像上设置水印文本