Параллельный get_range() phpcassa

Я пытаюсь сделать что-то похожее на карту уменьшить, но без Hadoop.

Я планирую использовать несколько процессов php, каждый из которых выполняет $cf->get_range($begin, $end), и повторять каждую строку.

Но из-за случайного разбиения данные не сортируются. Это означает, что я не могу выбрать хорошие переменные $ begin, $ end, и мне будет сложно запустить 30-40 процессов параллельно.

Cassandra поддерживает get_range по токену, но он не доступен в phpcassa.

У меня есть несколько возможностей, но они мне не нравятся, потому что они не кажутся непрофессиональными:

  1. поместите все ключи в одну строку и используйте CoulumnSlice() + multiget() после этого.
  2. поместите все ключи в одну строку, но с их значениями MD5. Затем по значению MD5 получить ключ, и сделать get_range()
  3. делать подобные вещи с вторичным индексом
  4. импортировать все ключи в Redis.

0 ответов

Другие вопросы по тегам