[A-00096]pythonからBigQuery API(GCP)を使用する
Google Cloudが提供するBigQuery APIをpythonから実行します。
公式ドキュメントは下記
https://cloud.google.com/bigquery/docs/reference/libraries?hl=ja
・セットアップ
pythonのライブラリをインストールします。
pip install --upgrade google-cloud-bigquery
・テスト用データセット、テーブル作成
テスト用のデータセットを作成します。
名前は[TEST]でRegionは任意です。

テーブルは適当に[PEOPLE]で作成しました。DDLは下記です。
CREATE TABLE TEST.PEOPLE (
id STRING(10),
name STRING(255),
country STRING(100),
age INTEGER,
address STRING(255),
phone_number STRING(50)
)
適当なデータをINSERTします。
INSERT INTO TEST.PEOPLE
VALUES (
'0000000001'
,'SCOTT HAMILTON'
,'United States'
,57
,'Boston,LLC'
,'000-000-981'
)
・APIより、QUERY実行
pythonでAPIを呼び出し、BQにクエリを発行します。
from google.cloud import bigquery
# Construct a BigQuery client object.
client = bigquery.Client()
query = """
SELECT * FROM TEST.PEOPLE
"""
query_job = client.query(query) # Make an API request.
print("The query data:")
for row in query_job:
# Row values can be accessed by field name or index.
print(row)
(.venv)MacBook-Pro:test2_project$ python3 bqtest.py
The query data:
Row(('0000000001', 'SCOTT HAMILTON', 'United States', 57, 'Boston,LLC', '000-000-981'), {'id': 0, 'name': 1, 'country': 2, 'age': 3, 'address': 4, 'phone_number': 5})
上記の通り、先ほど追加したデータが取得できました。
コメントを残す