我需要将一些大型查询数据集的数据从一个数据位置移动到另一个数据位置,而不会丢失任何在途数据。我知道GCP支持数据集之间的数据传输,但这需要创建多个数据集。例:要更改Dataset "A“的数据位置,我们需要创建一个空数据集"B”(在预期的数据位置中),并将数据集"A“复制到"B”。现在,复制完成后,我们需要删除"A“,并再次创建一个空数据集"A”(在预定的数据位置),并从"B“复制到”A“,然后删除"B”。有更好的方法吗?
发布于 2021-04-13 16:37:25
您考虑过将这些命令链接起来以移动数据,然后在Bash中删除它吗?
bq cp datasetname.oldtablename datasetname.newtablename && bq rm -f datasetname.oldtablenamebq rm -f在删除时不要求确认。
由于'bq‘命令返回非-0 (false)退出状态,如果由于命令之间的&& (和)操作符而导致副本失败,“bq”命令将不会执行。
https://serverfault.com/questions/1057821
复制相似问题