是否可以通过查询获取 BigQuery 表架构信息?(类似于表,但用于模式)。对 cli 方法不感兴趣。
我想要实现的是在 2 个 BQ 表(比方说暂存和生产)之间执行“增量”更新,其具有基于 1 个“键”列的相同结构,但采用自动方式来创建键和哈希的其余部分基于所有其他列。
在 MySQL/mariadb 中会是这样的。从 information_schema.columns 获取特定表的列,并以 COLUMN_TYPE = "PRI" 为基础对所有列进行字符串聚合,并将其保留为键,然后也使用字符串聚合获取所有其他列。这将自动生成一个 SQL 查询来完成剩下的事情。
所以开始的问题是是否有与 MySQL 相关的东西information_schema.COLUMNS
小智 15
查看有关使用 INFORMATION_SCHEMA 获取表元数据的 Google 文档。INFORMATION_SCHEMA 提供有关 BigQuery 数据集的元数据。
我相信您想要以下内容:
SELECT *
FROM `project-id.dataset_name.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS`
Run Code Online (Sandbox Code Playgroud)
小智 15
2021 年更新
现在可以了:
SELECT
TO_JSON_STRING(
ARRAY_AGG(STRUCT(
IF(is_nullable = 'YES', 'NULLABLE', 'REQUIRED') AS mode,
column_name AS name,
data_type AS type)
ORDER BY ordinal_position), TRUE) AS schema
FROM
<YOUR_DATASET>.INFORMATION_SCHEMA.COLUMNS
WHERE
table_name = <YOUR_TABLE>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
41561 次 |
最近记录: |