BigQuery支持SELECT语句,但它是否支持INSERT,UPDATE和DELETE等DML语句?
答案 0 :(得分:28)
是的,BigQuery现在支持带有标准SQL的SQL DML(取消选中“显示选项”下的“使用旧版SQL”)。旧版SQL不支持SQL DML。
官方文件可在此处获得: https://cloud.google.com/bigquery/sql-reference/data-manipulation-language
注意:强> 只要语句不影响流缓冲区中的行,就可以通过带有流缓冲区的表支持UPDATE,DELETE和MERGE DML语句。
答案 1 :(得分:1)
我已经使用BigQuery API测试了 DELETE 语句,它对我来说很好用。 这是 GCP作曲器(气流)
中的源代码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
)