Мой Python код выглядит так:
from google.cloud import bigquery
client = bigquery.Client(
project='my-project',
credentials=credentials,
)
sql = '''
CREATE OR REPLACE TABLE `my-project.my_dataset.test` AS
WITH some_table AS (
SELECT * FROM `my-project.my_dataset.table_1`
),
some_other_table AS (
SELECT id, some_column FROM my-project.my_dataset.table_2
)
SELECT * FROM some_table
LEFT JOIN some_other_table ON some_table.unique_id=some_other_table.id
'''
query_job = client.query(sql)
query_job.result()
Запрос работает в пользовательском интерфейсе Google BigQuery Console, но не при выполнении, как описано выше, из Python.
Я понимаю что с помощью CREATE OR REPLACE это запрос "DDL", который я не могу понять, как выполнить из библиотеки Python. Вы можете установить таблицу назначения в файле job.config, который позволяет вам СОЗДАТЬ таблицу, но тогда вы не получите функциональность CREATE OR REPLACE.
Спасибо за любую помощь.