from google.cloud import bigquery as bq
import google_auth_oauthlib.flow
query = '''select ... from ...'''
bigquery_client = bq.Client()
table = bq.query.QueryResults(query=query,client=bigquery_client)
table.use_legacy_sql = False
table.run()
# transfer bigquery data to pandas dataframe
columns=[field.name for field in table.schema]
rows = table.fetch_data()
data = []
for row in rows:
data.append(row)
df = pd.DataFrame(data=data[0],columns=columns)
私は1000万以上の行をPythonにロードしたいが、数週間前にうまくいきましたが、現在は10万行しか返しません。誰でもこれを行うための信頼できる方法を知っていますか?bigqueryからpythonに大きなデータをロード
私もasync_query.pyを試して、rows = query_job.results()。fetch_data(max_results = 1000000)で試しました。しかし、彼らはどこかに100,000限界の上限を置いているようだ。キャップを上書きする方法はありますか?またはより効率的なpython計算にbigqueryを実行する方法。 – vortex
WebUIまたはCLIでこのクエリを実行して、期待する合計行が返されているかどうかを確認してください。 –
私は自分のCLIで実行しましたが、行はわずか100,000です。したがって、カットオフはtable.run()またはtable.fetch_data()のいずれかになります。 – vortex