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

问题描述

我看过this资源,但这不是我所需要的。 question是我想要完成的,但是我想在BQ终端中运行它。

例如,过去我已经在bq命令行中将表信息导出为.json了:

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

这给出了设置项目中指定数据集的Table信息的prettyjson。我只想在项目中具有所有数据集名称的.csv(或任何类型的列表)。但是我不知道如何适当地更改命令行以输出所需的内容

解决方法

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

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

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

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

,

您应该能够查询信息架构以获得所需的结果。 例如:

public static void printLoanDecisions(String[] loansArray){
    int approved = 0;
    int denied = 0;

    String result = loansArray.toString();
    
    if (result.equals("Your loan has been approved!")){
        approved++;
    } else if (result.equals("Sorry your loan wasn't approved.")){
        denied++;
    }

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

select * from `project_id.INFORMATION_SCHEMA.SCHEMATA`;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...