Кассандра / Пикасса: получение случайных строк

Есть ли возможность извлекать случайные строки из Cassandra (используя его с Python / Pycassa)?

Обновление: со случайными строками я имею в виду случайно выбранные строки!

3 Solutions collect form web for “Кассандра / Пикасса: получение случайных строк”

Возможно, вы сможете сделать это, get_range запрос get_range со случайным start ключом (только случайная строка) и row_count из 1.

Из памяти я думаю, что ключ finish должен быть таким же, как и start , так что запрос «обертывает» пространство ключей; это обычно возвращает все строки, но row_count ограничивает это.

Не пробовал, но это должно гарантировать, что вы получите единственный результат, не имея необходимости знать точные строки.

Не уверен, что вы подразумеваете под случайными рядами. Если вы имеете в виду строки произвольного доступа, то вы можете сделать это очень легко:

 import pycassa.pool import pycassa.columnfamily pool = pycassa.pool.ConnectionPool('keyspace', ['localhost:9160'] cf = pycassa.columnfamily.ColumnFamily(pool, 'cfname') row = cf.get('row_key') 

Это даст вам любую строку. Если вы имеете в виду, что вам нужна случайная строка, я не думаю, что вы сможете сделать это очень легко, не зная, что это за клавиши. Вы можете создать строку индекса, а затем выбрать из нее случайный столбец и использовать ее для захвата строки из другого семейства столбцов. В принципе, вам нужно создать новую строку, где каждое значение столбца, является строковым ключом из семейства столбцов, из которого вы пытаетесь выбрать строку. Затем вы можете получить случайный столб из этой строки, и у вас есть ключ к случайной строке.

Я не думаю, что pycassa предлагает любую поддержку для захвата случайной, неиндексированной строки.

Это работает для моего случая:

 ini = random.randint(0, 999999999) rows = col_fam.get_range(str(ini), row_count=1, column_count=0,filter_empty=False) 

Вам придется адаптироваться к типу строки строки (строка в моем случае)

  • Импорт Python UUID завершился неудачно на Cygwin 64bits
  • Как сгенерировать SOPInstance UID для файла DICOM?
  • Многопроцессорность Python не играет хорошо с uuid.uuid4 ()
  • Исправлен идентификатор машины (uuid.getnode)
  • cutdown uuid далее, чтобы сделать короткую строку
  • Как упаковать UUID в структуру в Python?
  • Почему в Python нет uuid.uuid2?
  • python: как преобразовать действительный uuid из String в UUID?
  •  
    Interesting Posts for Van-Lav

    pylint жалуется, если мы используем экземпляры класса pandas

    (n) проклятия pad в python не работает

    Должно ли использование памяти увеличиваться при использовании ElementTree.iterparse () при очистке () деревьев?

    Получить данные из Twitter с помощью Tweepy и сохранить в csv-файле

    Как избежать «Значение пытается установить на копии среза из DataFrame»?

    Преобразование из строки в boolean в Python?

    Функция работает слишком медленно

    сумма матричных столбцов в python

    Отладка проекта с помощью root в PyDev / LiClipse

    Уменьшение объема памяти при многопроцессорности?

    конкатенация массивов в python, таких как matlab, без знания размера выходного массива

    Регулярное выражение для сопоставления символов новой строки

    Понимание списка Python: список подпунктов без дубликатов

    Могу ли я получить возвращаемое значение из multiprocessing.Process?

    Spotfire: «ограничивать данные с помощью меток» скриптом python

    Python - лучший язык программирования в мире.