0

我们有一个 BigQuery 数据集,其中包含一些很长的表(包含数据)列表。由于我正在接管一个数据管道,我想通过测试来熟悉它,我想复制这些数据集/表而不复制截断表。本质上,我想使用它们的模式在测试数据集中重新创建这些表。这如何在bq客户端完成?

4

1 回答 1

2

考虑到您不想复制数据而是模式,您有几个选择:

1.- 提取每个表的模式,然后创建新的只是空的。

$ bq show --schema --format=prettyjson [PROJECT_ID]:[DATASET].[TABLE] > [SCHEMA_FILE]

$ bq mk --table [PROJECT_ID]:[NEW_DATASET].[TABLE] [SCHEMA_FILE]

2.- 使用 LIMIT 0 运行查询并设置目标表。

bq query "SELECT * FROM [DATASET].[TABLE] LIMIT 0" --destination_table [NEW_DATASET].[TABLE]
于 2021-05-13T16:07:28.387 回答