在Jupyter Notebook中,我正在尝试使用BigQuery服务器上的类似sql的查询从BigQuery导入数据。然后,我将数据存储在一个数据框中:
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="credentials.json"
from google.cloud import bigquery
sql = """
SELECT * FROM dataset.table
"""
client = bigquery.Client()
df_bq = client.query(sql).to_dataframe()
Run Code Online (Sandbox Code Playgroud)
数据的形状为(6000000,8),一旦存储在数据帧中,将使用约350MB的内存。
sql如果直接在BQ中执行查询,则大约需要2秒钟。
但是,通常需要大约30-40分钟的时间来执行上述代码,并且代码执行失败的可能性通常更高,并引发以下错误:
ConnectionError: ('Connection aborted.', OSError("(10060, 'WSAETIMEDOUT')",))
Run Code Online (Sandbox Code Playgroud)
总而言之,可能有三个错误原因:
希望对问题有任何见解,在此先感谢!