如何在GCP BigQuery中创建分片表及按日自动生成机制咨询
BigQuery 日期后缀分片表组底层实现机制
- 控制台展示的
sometablename_(N)格式的分片表组并非BigQuery服务端实际存在的逻辑容器实体,只是控制台针对命名符合[固定前缀]_YYYYMMDD规则的同前缀独立表,做的前端聚合展示,括号内的数字N为当前数据集下匹配该前缀规则的独立表总数量。 - 底层每一张带
_YYYYMMDD后缀的分片都是完全独立的普通表,各自拥有独立的存储元数据、权限配置、计费统计规则。BigQuery服务端不会为同前缀的这类表做额外的底层绑定,增删改任意分片只会变更控制台统计的N值,不会对其他分片产生影响。 - 按日自动生成的分片并非BigQuery服务端主动创建,本质是上游任务(比如BigQuery Data Transfer Service、定时数据负载、第三方数据同步工具)按照
前缀_YYYYMMDD的命名规则每日主动创建的新表,只要表名符合该命名规则,就会被自动归入同一前端分组中。 - 这类分片表的通配符查询逻辑和分区表有本质区别:分区表是单个物理逻辑表,底层按分区字段做存储拆分,分区裁剪由服务端底层实现;而日期后缀分片表的通配符查询本质是BigQuery先解析通配符匹配到所有符合条件的独立表,自动对这些表执行UNION ALL操作后再执行后续查询逻辑,
_TABLE_SUFFIX的过滤逻辑会优先执行以裁剪掉不需要扫描的表。 - 官方文档未单独提及该表组的实现规则,是因为该分组本质属于控制台的展示层功能,并非BigQuery服务端的核心存储特性,没有特殊的底层实现逻辑,相关用法仅在通配符查询、日期分片表最佳实践的文档中有对应说明。
内容的提问来源于stack exchange,提问作者Astronet-K2
相关产品推荐
相关产品推荐

