gpt4 book ai didi

google-bigquery - 如何在 GCP BigQuery 中创建分片表

转载 作者:行者123 更新时间:2023-12-02 18:25:53 28 4
gpt4 key购买 nike

当我们开始使用 GCP BigQuery 时,我们的代码必须从数据集中所谓的分片表中检索数据。此表组的名称类似于 sometablename_(3000),图标表示为 enter image description here .括号中的数字表示到目前为止在数据集中创建的表的总数以及日期,每天这些表都会被其他一些发布者添加到那里,因此计数每天都在增加。我们的代码需要一个通配符查询来限制日期范围,以便从此表中读取数据,效果很好。我们从控制台创建表时看到的唯一其他选项是分区表,它的表示方式不同。

但奇怪的问题是,这些表格最初是如何每天创建的?当我们手动尝试创建另一个具有相同名称格式的表时,它被创建为单独的表但进入了这个组。不确定文档是否有任何引用但找不到任何引用。

因此,如果您能帮助理解这一背景,我们将不胜感激。

最佳答案

分表是在 google-bigquery 找到具有以下特征的表后自动生成的:

  • 存在于同一个数据集中
  • 具有完全相同的表架构
  • 相同的前缀
  • 具有 _YYYYMMDD 形式的后缀(例如 20210130)

您可以在官方文档中找到有关分片表的其他信息,Partitioning versus sharding .

因此,这意味着如果我创建 3 个名为 BUSINES_YYYYMMDD 的表,一旦在 UI 中刷新,它将被分组。

 * Business_(3)
- Business_20211201
- Business_20211202
- Business_20211203

如果我想查询这些表,我只需要通过用户界面并选择表即可。

# UI under schema tab 
BUSINESS_20211203 2021-12-03 v # Filter tables under the shard

Table schema
...

或者直接进入查询 ui compose new query 并执行查询。

   Select * from my-project-id.my-dataset.Business_20211203 limit 1

因此,如果您在同一数据集中获得由 publishers/org 创建的表格,并且符合顶部提到的条件,它将被分组。

关于查询这个组,谷歌建议做分区而不是分片。到这个link可以看到sharded转partion表的过程.

此外,我发现了这个 post它还显示了每种模式的 vs。

关于google-bigquery - 如何在 GCP BigQuery 中创建分片表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70194094/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com