从 BigQuery 加载大量数据到 python/pandas/dask

MT4*_*467 6 bigdata pandas google-bigquery google-cloud-platform dask

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

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

kha*_*han 5

您可以随时将内容导出到云存储 -> 本地下载 -> 加载到您的 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/ 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 加载到 Dask:

    >>> import dask.dataframe as dd
    >>> df = dd.read_csv("/my/local/dir/*.csv")
    
    Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。