首页 > 解决方案 > 从 BigQuery 加载大量数据到 python/pandas/dask

问题描述

我阅读了其他类似的主题并搜索了谷歌以找到更好的方法,但找不到任何可行的解决方案。

我在 BigQuery 中有一个大表(假设每天插入 2000 万行)。我想在 python/pandas/dask 中有大约 2000 万行数据和大约 50 列来做一些分析。我曾尝试使用 bqclient、panda-gbq 和 bq 存储 API 方法,但在 python 中拥有 500 万行需要 30 分钟。还有其他方法吗?甚至任何可用于完成类似工作的 Google 服务?

标签: pandasgoogle-cloud-platformgoogle-bigquerybigdatadask

解决方案


除了查询之外,您始终可以将内容导出到云存储 -> 在本地下载 -> 加载到您的 dask/pandas 数据框中:

  1. 导出 + 下载:

    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/ 
    
  2. 加载到 Dask:

    >>> import dask.dataframe as dd
    >>> df = dd.read_csv("/my/local/dir/*.csv")
    

希望能帮助到你。


推荐阅读