【问题标题】:schema of an existing table in JSON format using bigquery select statement in bigquery使用 bigquery 中的 bigquery select 语句的 JSON 格式的现有表的架构
【发布时间】:2021-10-05 13:52:16
【问题描述】:

我们可以编写 select 语句来获取 JSON 格式的现有表的架构吗? 我们可以写bigquery到

Select 语句应在结果集中生成 json 格式。 (或在 bigquery 中 - 如何将现有表模式选择为 JSON 格式)

示例 - [ { “名称”:“年份”, “类型”:“整数”, “模式”:“可为空” }, { “名称”:“月份”, “类型”:“整数”, “模式”:“可为空” }, { “名称”:“项目字节”, “类型”:“字节”, “模式”:“可为空” }, { “名称”:“朗”, “类型”:“字符串”, “模式”:“可为空” } ]

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    可以通过查询访问数据集和表的元数据以及列。 https://cloud.google.com/bigquery/docs/information-schema-intro

    对于yourdataset,所有表的所有列都可以显示其架构:

    SELECT * FROM yourdataset.INFORMATION_SCHEMA.COLUMNS
    where table_name="yourtablename"
    

    也可以将其转换为 JSON 字符串:

    Select table_name, TO_JSON_STRING(array_agg(schema_col)) schema
    from (
    SELECT
      table_name,column_name,
       STRUCT(T.column_name AS name,
        any_value(T.data_type) AS type,
        IF (any_Value(T.is_nullable)="YES","NULLABLE",null) AS mode
        ) as schema_col
    FROM
      yourdataset.INFORMATION_SCHEMA.COLUMNS T
    GROUP BY
      1,  2
    ) group by 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2020-03-22
      相关资源
      最近更新 更多