本地火花和实木复合地板的文件

问题描述:

我个人的交易(如客户代码,产品,产品组,价格等)本地火花和实木复合地板的文件

我在地板这个文件现在划分为每个YEAR_MONTH

交易信息当汇总产品组等等时,这是非常有效的。

但是,如果我想在几个月内检索特定客户的信息,这不是非常有效/快速。

我试图按year_month分区& customer_code,但是之后有很多磁盘I/O,因为每个分区现在都是一个客户代码,其中包含一行数据。

有没有办法提高性能,让我们说在一个分区中粘贴10000个客户?或者说,如果木条地板文件大小是64Mb或类似的东西,分区到下一组。

有了Spark中的逻辑,它在实木复合地板文件中具有min max per属性,我期望提升性能,但我太新了,无法用spark/parquet来真正理解这是否是一个正确的思想,如果是技术上的可能。 (当然,我也可以自己创建客户代码组,并在查询中使用它,但是我希望更自动的可能)。

感谢,

G.

+0

将你的数据放入cassandra并在那里进行分区,但使用索引进行。它会让你对每个分区的客户随机搜索更快吗?我明白,这不是一个答案,但我基本上经历过类似的情况,并使用卡桑德拉,但我不知道如果我使用木地板会发生什么! –

如果您订购的客户代码中的每个文件数据和配置的Spark由客户代码使用拼花谓词下推(默认启用),然后全面扫描会更快。

内部parquet文件存储每个页面和块的列最小/最大值。按值过滤可以高效地跳过基于此统计数据的页面和块。