0

我想用临时表中已经可用的数据替换我的 BQ 表上的最新分区。

有人可以帮我做这件事吗?

以下命令没有帮助:

bq query \
--use_legacy_sql=false \
--replace \
--destination_table 'mydataset.table1$20160301' \
'SELECT
  column1,
  column2
FROM
  mydataset.mytable'
4

1 回答 1

0

我猜你需要使用 bq cp 而不是 bq 查询

这里

要复制分区,请使用 bq 命令行工具的 bq cp(复制)命令和分区修饰符 ($date),例如 $20160201。

可选标志可用于控制目标分区的写入处置:

-a或 --append_table 将数据从源分区附加到目标数据集中的现有表或分区。

-f或 --force 覆盖目标数据集中的现有表或分区,并且不提示您进行确认。

如果目标数据集中存在表或分区,则-n或 --no_clobber 返回以下错误消息:表 'project_id:dataset.table or table$date' 已存在,正在跳过。如果未指定 -n,则默认行为是提示您选择是否替换目标表或分区。

bq --location=location cp \ 
-f \
project_id:dataset.source_table$source_partition \
project_id:dataset.destination_table$destination_partition

所以不要忘记使用-f参数来销毁旧分区

于 2021-02-12T19:20:45.497 回答