将单个项目中的 Google 个 BigQuery 数据集导出为 bq 命令行中的列表?

Export Google BigQuery datasets in a single project as list in bq command-line?

我看了this resource, but it's not quite what I need. This 是我想完成的,但是我想运行在BQ终端里

例如,过去我在 bq 命令行中将 table 信息导出为 .json,如下所示:

bq show --schema --format=prettyjson Dataset.TableView > /home/directory/Dataset.TableView.json

这给出了一组项目中指定数据集的漂亮json 的Table 信息。我只想在项目中包含 all 数据集名称的 .csv(或任何类型的列表)。但是我不知道如何适当地更改该命令行以输出我想要的内容。

您应该能够查询信息模式以获得您想要的结果。 示例:

select * from `project_id.INFORMATION_SCHEMA.SCHEMATA`;

然后您可以将其添加到 bq 命令中,例如:

bq query --format=csv 'select * from `project_id.INFORMATION_SCHEMA.SCHEMATA`;'

为了进一步为社区做出贡献,作为@DanielZagales 回答的替代方案,使用bq 命令行。根据文档,您可以使用 bq ls 列出项目中的所有 the datasets。如下,

bq ls -a --format=pretty --project_id your-project-id

标志-a--all的缩写,它保证所有数据集都将包含在列表中。标志 --format=pretty 会将列表输出为 table 格式,您可以使用其他格式,例如 here 所述。此外,您还可以过滤匹配表达式的数据集 --filter labels.key:value 或设置最大结果数 --max_results-n.

注意:您还可以列出数据集中的所有 table,如 here.

所述