Cassandras Map减少支持

时间:2012-11-01 09:45:16

标签: hadoop mapreduce cassandra apache-pig

我最近碰到了一个案例,Cassandra非常适合存储基于时间的事件,每个事件类型都有自定义ttl(另一种解决方案是将其保存在hadoop中并手动进行簿记(ttls和stuff,恕我直言,非常复杂)想法)或切换到hbase)。 问题是如果没有Datastax Enterprise版本,cassandra MapReduce支持的开箱即用效果会很好。

似乎他们在CassandraFS上投入了大量资金,但我问自己是不是正常的猪 CassandraLoader被主动维护并实际扩展(因为它似乎只是迭代切片中的行)。 这适用于数百万行吗?

2 个答案:

答案 0 :(得分:1)

您可以使用随机分区来映射/缩小,但当然您获得的密钥是随机顺序。你可能想在cassandra中使用CL = 1,所以你不是每次都在读取map / reduce时从2个节点读入,它应该读取本地数据。我虽然没有用过猪。

答案 1 :(得分:-2)

为什么不用hbase? Hbase更适合时间序列数据。您可以轻松地在非常小的群集上放置数十亿行,并在启用WAL的小型3node群集(最高50MB / s)上获得高达每秒500k行的数据。 卡桑德拉有几个缺陷:

  1. 在cassandra中,你实际上受到了键数量的限制(想象一下,如果数十亿行,你的修复工作将永远有效)。因此,您将设计模式,这将“缩短”您的时间,例如1小时,实际时间戳将作为列。但由于“大柱”的高风险,这种方案不能很好地扩展。
  2. 其他问题 - 你不能在cassandra中映射数据范围,除非你使用有序分区器,因为它不能很好地平衡,所以它根本不是一个选项。