首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用假时间戳在谷歌BigQuery上创建分区

使用假时间戳在谷歌BigQuery上创建分区
EN

Stack Overflow用户
提问于 2019-05-20 23:49:29
回答 1查看 185关注 0票数 0

谷歌BigQuery (BQ)允许您仅使用timestampdate类型创建分区。

我的99%的数据都有一个非常清晰的选择器,idClient。我为我的客户创建了带有像idClient = code这样的谓词的视图,所以隐私是有保证的。

这种策略的问题是,有些客户有5M行,其他客户有200K行,而且由于BQ没有索引,它们总是在处理彼此的数据(而且成本还在上升)。

我打算创建一个timestamp字段,其中每个客户都有一个不同的timestamp,每个客户敏感的表中的每个插入都会重复该字段,因此我可以通过timestamp进行查询,就像使用标准ID一样。

这有什么意义吗?如果BQ是一个索引数据库,我会担心数据倾斜,但因为它总是全表扫描,所以我认为我只会有好处,没有坏处。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 01:24:34

该问题的解决方案是向表中添加与其他数据库中的索引等效的聚类字段

link提供了有关如何使用集群字段的基本信息

集群可以提高某些类型查询的性能,例如使用筛选器子句的查询和聚合数据的查询。当查询作业或装载作业将数据写入聚集表时,BigQuery将使用聚类列中的值对数据进行排序

注意:使用集群字段时,BigQuert dryRun不会显示成本改进,这只能在执行后才能看到

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56224335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档