将bigquery数据加载到datalab中
问题描述:
我想在datalab上使用来自bigquery的公共数据,然后使用大熊猫数据框中的公共数据。我将如何去做这件事。我曾尝试3个不同的版本:将bigquery数据加载到datalab中
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')
错误:我要求给访问熊猫,但是当我同意,我得到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
任何帮助什么我做错了,将不胜感激。
答
上面的代码应该经过一些小的修改,并且在您使用gcloud,安装和初始化您的电子邮件授予Google访问本地计算机权限后工作。
使用gcloud init
初始化gcloud后,通过输入bq
来获取项目ID。
在我上面使用client = bigquery.Client(project_id='your project id')
既然你授予访问权限,第二个代码应该工作,以及第一个代码,只需更新项目ID。如果您不使用limit
函数,则可能需要很长时间才能加载,因为熊猫将数据转换为数据帧。
第三个代码也可以工作。