Подтвердить что ты не робот

Поддерживает ли BigQuery инструкции UPDATE, DELETE и INSERT (SQL DML)?

BigQuery поддерживает операторы SELECT, но поддерживает ли они инструкции DML, такие как INSERT, UPDATE и DELETE?

4b9b3361

Ответ 1

Да, BigQuery теперь поддерживает SQL DML со стандартным SQL (снимите флажок "Использовать устаревший SQL" в "Показать параметры"). SQL DML не поддерживается устаревшим SQL.

Официальная документация доступна здесь: https://cloud.google.com/bigquery/sql-reference/data-manipulation-language

ПРИМЕЧАНИЕ. Операторы UPDATE, DELETE и MERGE DML поддерживаются для таблиц с потоковым буфером, если оператор не влияет на строки, находящиеся в потоковом буфере.

Ответ 2

Я протестировал оператор DELETE с API BigQuery, он хорошо работает для меня. это исходный код в GCP composer (airflow)

from airflow.contrib.operators.bigquery_operator import BigQueryOperator

bq_delete_task = BigQueryOperator(
    dag = dag,
    task_id = 'remove_from_table_bq',
    destination_dataset_table = False,
    destination_table = 'table_name',
    bql = "DELETE FROM " + BQ_DATASET_NAME + "." + "table_name" + " WHERE date = '2018-06-06'",
    use_legacy_sql = False
)