首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大数据集上的flatten+partitioning与嵌套记录

大数据集上的flatten+partitioning与嵌套记录
EN

Stack Overflow用户
提问于 2012-12-24 05:47:25
回答 1查看 1.1K关注 0票数 2

我有一个扁平的数据集,每一行都包含用户属性(年龄、loc等)、注册和访问日期时间。每天隔断。~1000万每天访问行,2500万用户,每天500万用户。现在使用的是几个月的数据,在一年内,这将是~3billion+行。

为了提高效率和减少大小,我考虑移动到嵌套行:每个用户都有嵌套记录,只有寄存器和访问日期时间。

在进行重大更改之前,假设我不会超过每行64K的限制&我将相应地更改我的查询。这会比平排更好吗?

问题:

  • 如果我使用嵌套,我会按访问日期松散每日分区,因为我将它们嵌套到一个记录中。(我可以按月划分?)
  • 加载时,我需要将CSV转换为JSON &知道要加载每一行的分区,所以我想我将取消分区。
  • 查询性能对较少的分区,但嵌套应该更好吗?

Thx很多

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-27 18:02:20

1: json数据的实际导入行大小限制为20 MB,而不是64k。我已经提交了一个文档错误,以便在我们的公开文档中更新这个错误。

  1. 嵌套数据可能会在一定程度上提高性能,但如果不了解实际查询,就很难知道。这不太可能对业绩产生重大影响。然而,它可能会降低查询的成本。
  2. 您可以执行多个分区的联合,然后按或分组每个分区来收集每个用户的访问。在生产数据之前,最好先用一个较小的样本来尝试这一点。

我的猜测是,更复杂的查询和加载逻辑意味着嵌套数据不会带来多大好处。您最好保持数据的非规范化和扁平化,白天对数据进行分区,并查询查询中需要的表的合并。我们正在研究如何更容易地在查询中指定表的范围,这可能会有所帮助。

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

https://stackoverflow.com/questions/14017546

复制
相关文章

相似问题

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