Как хранить небольшие файлы в Кассандре? - PullRequest
3 голосов
/ 10 февраля 2012

У меня есть несколько тысяч отдельных html-файлов, которые хранятся локально в каталоге, каждый не более нескольких килобайт каждый.

Я хочу хранить их в одном узле Кассандры, как бы я сделал это программно с Гектором?Какие API я использую для настройки columnFamily для обработки статических файлов и как мне настроить схему?Спасибо!

Ответы [ 2 ]

4 голосов
/ 10 февраля 2012

Я хочу хранить их в одном узле Кассандры, как бы я сделал это программно с Гектором?

Вам необходимо создать пространство ключей в Кассандре.Вы можете создать его на узле кластера, используя cassandra-cli с командой create keyspace или используя метод hector addKeyspace () .

Какие API я использую для настройки columnFamily для обработки статических файлов и как мне настроить схему?

Вы можете использовать BasicColumnDefinition для создания семейства столбцов в cassandra.Посмотрите пример кода здесь о том, как добавить семейство столбцов в пространство ключей.Возможно, у вас будет семейство столбцов с именем html_doc с именем столбца вашего html-файла и значением типа AsciiType или UTF8Type (или по умолчанию BytesType).HTML-документ нужно будет читать стандартным способом Java, и вы можете увидеть, как вставить значение для столбца здесь .

1 голос
/ 10 февраля 2012

Если ваши файлы содержат только пару К, то вы можете легко поместить их в один столбец.
См. Руководство по началу работы: Начало работы с Гектором

  • Настройте семейство ключей / столбцов один раз.
  • Считайте файл в строку или массив байтов.
  • Используйте ColumnFamilyUpdater, чтобы записать файл в столбец (возможно, «FileBody» в качестве имени столбца?)используя имя файла в качестве ключа.
  • Повторите для каждого файла.
...