本地火花和实木复合地板的文件
问题描述:
我个人的交易(如客户代码,产品,产品组,价格等)本地火花和实木复合地板的文件
我在地板这个文件现在划分为每个YEAR_MONTH
交易信息当汇总产品组等等时,这是非常有效的。
但是,如果我想在几个月内检索特定客户的信息,这不是非常有效/快速。
我试图按year_month分区& customer_code,但是之后有很多磁盘I/O,因为每个分区现在都是一个客户代码,其中包含一行数据。
有没有办法提高性能,让我们说在一个分区中粘贴10000个客户?或者说,如果木条地板文件大小是64Mb或类似的东西,分区到下一组。
有了Spark中的逻辑,它在实木复合地板文件中具有min max per属性,我期望提升性能,但我太新了,无法用spark/parquet来真正理解这是否是一个正确的思想,如果是技术上的可能。 (当然,我也可以自己创建客户代码组,并在查询中使用它,但是我希望更自动的可能)。
感谢,
G.
答
如果您订购的客户代码中的每个文件数据和配置的Spark由客户代码使用拼花谓词下推(默认启用),然后全面扫描会更快。
内部parquet文件存储每个页面和块的列最小/最大值。按值过滤可以高效地跳过基于此统计数据的页面和块。
将你的数据放入cassandra并在那里进行分区,但使用索引进行。它会让你对每个分区的客户随机搜索更快吗?我明白,这不是一个答案,但我基本上经历过类似的情况,并使用卡桑德拉,但我不知道如果我使用木地板会发生什么! –