Массовая загрузка в Cassandra

У меня есть требование, когда мне нужно загружать объемные данные в Cassandra. Я выполнил поиск в Google и обнаружил, что загрузчик SSTABLE можно использовать для загрузки больших объемов данных в cassandra. Я использую DataStax и хотел узнать, могу ли я использовать Apache Sqoop, мои объемные данные находятся в формате CSV. Если я могу использовать Apache SQOOp, может ли кто-нибудь дать синтаксис, как загружать объемные данные в формате CSV с помощью sqoop


person user3375659    schedule 03.03.2014    source источник


Ответы (1)


Scoop предназначен для импорта из хранилищ JDBC (реляционных баз данных), а не из файлов CSV, поэтому вы не можете его использовать.

Если ваш файл небольшой (т. е. помещается на одной машине), вам следует рассмотреть возможность импорта с использованием оболочки CQL COPY FROM. Сначала создайте свои таблицы в соответствии с импортируемой схемой, а затем запустите этот оператор из оболочки CQL (используйте свои собственные столбцы, имя файла и разделитель):

COPY mytable(col1, col2, col3) FROM ('myfile.csv') WITH DELIMITER=',';

И тогда вы сделали. Итак, это простой способ.

Теперь о SSTableLoader, последнее, что я слышал, если вы хотите его использовать, вам нужно будет написать пользовательскую программу Java, которая преобразует ваш файл в SSTable. Из того, что вы описали, это может быть не лучший подход для вашего сценария. Тем не менее, если ваш CSV-файл действительно велик, вот пост в блоге с описанием шагов (это сложное пошаговое руководство, поэтому я не буду повторяться здесь).

person Daniel S.    schedule 06.03.2014