我想在biglab上使用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()
错误:BadRequest
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
对我所做错的任何帮助都将不胜感激。
答案 0 :(得分:0)
上面的代码应该经过一些细微的更改后,您使用gcloud授予谷歌访问本地计算机的权限,安装并初始化。
使用bq
初始化gcloud后,键入gcloud init
获取项目ID。
在我上面的第一个代码中使用client = bigquery.Client(project_id='your project id')
由于您授予了访问权限,因此第二个代码也可以正常工作,只需更新您的项目ID即可。如果你不使用limit
函数,那么加载可能需要很长时间,因为pandas会将数据转换为数据帧。
第三个代码也可以。