Pythonでgoogle-cloud-bigqueryを使用してLegacy SQLを実行する

google-cloud-bigquery はデフォルトでStandard SQLを使用することになっているため、Legacy SQLを使用する場合は明示的に指定する必要がある。

github.com

さっとソースを読んでみたところ、QueryJobConfigというのを使うといいらしい。

サンプル

from google.cloud import bigquery

if __name__ == '__main__':
    client = bigquery.Client.from_service_account_json('./credentials.json')

    query = 'SELECT * FROM [project:dataset.table]'
    config = bigquery.QueryJobConfig()
    config.use_legacy_sql = True

    rows = client.query(query, job_config=config).result()
    for row in rows:
        print(row)

歴史があるサービスだとLegacy SQLを使うこともあるので覚えておく。

Google BigQuery

Google BigQuery