【发布时间】:2016-01-18 21:44:58
【问题描述】:
我有个别交易的交易信息(例如客户代码、产品、产品组、价格等)
我现在将这个分区在每个 year_month 的 parquet 文件中
这在报告产品组等的聚合等时非常有效。
但是,如果我想跨月检索特定客户的信息,这不是非常有效/快速。
我尝试按 year_month 和 customer_code 进行分区,但是由于每个分区现在都是一个客户代码,其中包含一行数据,所以磁盘 i/o 很多。
有没有办法提高性能,假设在一个分区中固定 10000 个客户?或者如果 parquet 文件大小为 64Mb 或类似的大小,则说分区到下一个组。
根据 Spark 中的逻辑,它在 parquet 文件中具有每个属性的最小最大值,我希望性能能够提高,但我对 spark/parquet 太陌生,无法真正理解这是否是一个正确的想法,以及它在技术上是否可行. (当然我可以自己创建客户代码组并在查询中使用它,但我希望更自动化的东西是可能的)。
谢谢,
G.
【问题讨论】:
-
如何将您的数据放入 cassandra 并在其中进行分区但使用索引。它会让你随机搜索每个分区的客户更快吗?我知道这不是一个答案,但我之前基本上经历过类似的情况并使用过 cassandra 但我不确定如果我使用镶木地板会发生什么!
标签: apache-spark parquet