BigQuery目前还不支持CREATE OR REPLACE的交换操作,但可以通过先删除旧表然后创建新表的方式实现类似的功能。具体方法如下:
CREATE TABLE mydataset.new_table (column1 INT64, column2 STRING) OPTIONS(
description="This is a new table to replace the old one"
);
INSERT INTO mydataset.new_table SELECT * FROM mydataset.old_table;
DROP TABLE mydataset.old_table;
ALTER TABLE mydataset.new_table RENAME TO old_table;
这样就完成了CREATE OR REPLACE的功能,即用新表替换了旧表,同时保留了旧表原有的结构和数据。