使用 bigquery 中的 bigquery select 语句的 JSON 格式的现有表的架构
Posted
技术标签:
【中文标题】使用 bigquery 中的 bigquery select 语句的 JSON 格式的现有表的架构【英文标题】:schema of an existing table in JSON format using bigquery select statement in bigquery 【发布时间】:2021-10-05 13:52:16 【问题描述】:我们可以编写 select 语句来获取 JSON 格式的现有表的架构吗? 我们可以写bigquery到
Select 语句应在结果集中生成 json 格式。 (或在 bigquery 中 - 如何将现有表模式选择为 JSON 格式)
示例 - [ “名称”:“年份”, “类型”:“整数”, “模式”:“可为空” , “名称”:“月份”, “类型”:“整数”, “模式”:“可为空” , “名称”:“项目字节”, “类型”:“字节”, “模式”:“可为空” , “名称”:“朗”, “类型”:“字符串”, “模式”:“可为空” ]
【问题讨论】:
【参考方案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
【讨论】:
以上是关于使用 bigquery 中的 bigquery select 语句的 JSON 格式的现有表的架构的主要内容,如果未能解决你的问题,请参考以下文章