2

我正在尝试制作类似于 map reduce 的东西,但没有 hadoop。

我打算使用几个 php 进程,每个进程都执行 $cf->get_range($begin, $end) 并迭代每一行。

但是由于随机分区器,数据没有排序。这意味着我无法真正选择好的 $begin、$end 变量,并且很难并行启动 30-40 个进程。

Cassandra 通过 token 支持 get_range,但在 phpcassa 中没有公开。

我有几种可能性,但不喜欢它们,因为它们看起来并不专业:

  1. 将所有键放在单行上,然后使用 CoulumnSlice() + multiget() 。
  2. 将所有键放在单行上,但要使用它们的 MD5 值。然后通过 MD5 值获取 key,并做 get_range()
  3. 用二级索引做类似的事情
  4. 导入 Redis 中的所有密钥。
4

0 回答 0