如何在BigQuery中使用GCS存储桶URI通配符创建外部表?
关于BigQuery外部表使用GCS通配符的问题解答
完全可以通过你给出的SQL语句创建包含所有以Sample_开头的CSV文件的BigQuery外部表。
BigQuery原生支持在外部表的uris参数中使用通配符(*)来匹配GCS存储桶中符合模式的多个文件,你写的这段SQL语法是正确的:
CREATE EXTERNAL TABLE sampledataset.sample_table OPTIONS( format = 'CSV', uris = ['gs://bucketname/dir1/Sample_*.csv'] );
需要注意几个细节:
- 所有匹配到的CSV文件必须保持格式一致:比如字段数量、字段类型、分隔符、是否包含表头,否则查询时会出现数据解析错误
- 通配符支持多层目录匹配,比如
gs://bucketname/*/Sample_*.csv可以匹配bucket下任意子目录里的目标文件 - 如果每个CSV文件都有独立表头,记得在
OPTIONS里加上skip_leading_rows = 1来跳过重复表头,避免数据混乱
内容的提问来源于stack exchange,提问作者Mursil
相关产品推荐
相关产品推荐

