【问题标题】:load bigquery data to datalab将 bigquery 数据加载到数据实验室
【发布时间】:2017-05-25 04:07:29
【问题描述】:

我想在 datalab 上使用来自 bigquery 的公共数据,然后将其转换为 pandas 数据框。我该怎么做。我尝试了 3 个不同的版本:

from google.cloud import bigquery
client = bigquery.Client()
QUERY = (
    'SELECT pickup_datetime, dropoff_datetime FROM `bigquery-public-
    data.new_york.tlc_yellow_trips_20*`') --also tried without the ` and wildcard
query = client.run_sync_query('%s LIMIT 100' % QUERY)
query.timeout_ms = 10000
query.run()

错误:错误请求

import pandas as pd

df=pd.io.gbq.read_gbq("""  
SELECT pickup_datetime, dropoff_datetime
FROM bigquery-public-data.new_york.tlc_yellow_trips_20*
LIMIT 10
""", project_id='bigquery-public-data')

错误:我被要求授予对 pandas 的访问权限,但当我同意时,我得到This site can’t be reached localhost refused to connect

%%bq query
SELECT pickup_datetime, dropoff_datetime
FROM bigquery-public-data.new_york.tlc_yellow_trips_20*
LIMIT 10

错误:只保留Running

对我做错的任何帮助将不胜感激。

【问题讨论】:

    标签: pandas google-bigquery google-cloud-datalab


    【解决方案1】:

    在进行一些小的更改后,并且在您使用 gcloud 通过您的电子邮件授予 google 对本地计算机的访问权限后,上述代码应该可以工作,安装并初始化。

    在使用 gcloud init 初始化 gcloud 后,键入 bq 获取项目 ID。

    在我上面的第一个代码中使用client = bigquery.Client(project_id='your project id')

    由于您授予了访问权限,第二个代码也应该可以正常工作,只需更新您的项目 ID。如果你不使用 limit 函数,那么这可能需要很长时间才能加载,因为 pandas 会将数据转换为数据框。

    第三个代码也可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-24
      • 2018-07-02
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      相关资源
      最近更新 更多