向关联BigQuery的Google Sheet新增列后,外部表架构是否自动同步?若否需重建吗?
BigQuery关联Google Sheet新增列后的架构同步问题
BigQuery关联Google Sheet的外部表不会自动同步新增列。外部表的架构是在创建时基于当时的Sheet结构固定下来的,后续Sheet中新增的列不会自动同步到BigQuery表的结构里,查询时也无法直接访问这些新增列。
不需要完全重建外部表,直接修改表的DDL即可更新架构:
- 获取当前外部表的DDL:可以在BigQuery控制台的表详情页查看,或者执行以下SQL查询:
SELECT ddl FROM `your-project.your-dataset.INFORMATION_SCHEMA.TABLES` WHERE table_name = 'your-external-table-name' - 复制DDL内容,在
EXTERNAL_DATA_CONFIGURATION的schema字段中添加新增列的定义,列名要和Sheet里的列名完全一致,数据类型匹配(比如Sheet文本对应STRING,数字对应INT64)。 - 执行修改后的
CREATE OR REPLACE EXTERNAL TABLE语句,替换原有外部表,完成架构更新。
- 获取当前外部表的DDL:可以在BigQuery控制台的表详情页查看,或者执行以下SQL查询:
注意:如果Sheet中的列名包含空格或特殊字符,在DDL里需要用反引号(`)包裹列名。
内容的提问来源于stack exchange,提问作者unnest_me
相关产品推荐
相关产品推荐

