【发布时间】:2016-12-19 18:04:22
【问题描述】:
BigQuery 支持 SELECT 语句,但它是否支持 DML 语句,如 INSERT、UPDATE 和 DELETE?
【问题讨论】:
标签: google-bigquery
BigQuery 支持 SELECT 语句,但它是否支持 DML 语句,如 INSERT、UPDATE 和 DELETE?
【问题讨论】:
标签: google-bigquery
是的,BigQuery 现在支持使用标准 SQL 的 SQL DML(取消选中“显示选项”下的“使用旧版 SQL”)。旧版 SQL 不支持 SQL DML。
官方文档在这里: https://cloud.google.com/bigquery/sql-reference/data-manipulation-language
注意: 具有流式缓冲区的表支持 UPDATE、DELETE 和 MERGE DML 语句,只要该语句不影响流式缓冲区中的行。
【讨论】:
我已经使用 BigQuery API 测试了 DELETE 语句,它对我很有效。 这是 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
)
【讨论】: