当我们开始使用 GCP BigQuery 时,我们的代码必须从数据集中所谓的分片表中检索数据。该表组的名称类似于,sometablename_(3000)
图标表示为。括号中的数字表示迄今为止在数据集中创建的表的总数以及日期,每天这些表都会被其他一些发布者添加到那里,因此计数每天都会增加。我们的代码需要一个通配符查询来限制日期范围,以便从此表中读取数据,这可以正常工作。从控制台创建表时我们看到的唯一其他选项是分区表,其表示方式不同。
但好奇的问题是,这些表最初是如何每天创建的?当我们手动尝试创建另一个具有相同名称格式的表时,它被创建为单独的表,但进入该组。不确定文档是否有任何参考,但找不到任何参考。
因此,我们非常感谢任何有助于理解这一背景的帮助。
Bet*_*ens 10
一旦 google-bigquery 找到具有以下特征的表,就会自动生成分片表:
您可以在官方文档分区与分片中找到有关分片表的更多信息。
因此,这意味着如果我创建 3 个名为 BUSINES_YYYYMMDD 的表,一旦在 UI 中刷新,它将被分组。
* Business_(3)
- Business_20211201
- Business_20211202
- Business_20211203
Run Code Online (Sandbox Code Playgroud)
如果我想查询这些表,我只需通过用户界面并选择表即可。
# UI under schema tab
BUSINESS_20211203 2021-12-03 v # Filter tables under the shard
Table schema
...
Run Code Online (Sandbox Code Playgroud)
或者直接进入查询uicompose new query
并执行查询。
Select * from my-project-id.my-dataset.Business_20211203 limit 1
Run Code Online (Sandbox Code Playgroud)
因此,如果您在同一数据集中获取由出版商/组织创建的表,并且符合顶部提到的条件,那么它将被分组。
关于查询这个组,谷歌建议进行分区而不是分片。您可以通过此链接查看将分片转换为分区表的过程。
另外,我发现这篇文章还显示了每种模式的对比。
归档时间: |
|
查看次数: |
5745 次 |
最近记录: |