Пользовательский формат-уменьшитель входного формата для Cassandra с использованием собственного протокола

1

Я использую Apache Cassandra (1.2) и Apache Map-Reduce для сжатия некоторых данных. На данный момент я использую CqlPagingInputFormat из org.apache.cassandra.hadoop.cql3. Этот провайдер использует Thrift для извлечения данных. Похоже, что Thrift довольно медленный (записи 300M, в кластере из 3 узлов забирают 8+ часов для чтения), и поскольку существует собственный бинарный протокол, мне интересно, использовал ли он его.

Меня не интересуют какие-либо другие настройки оптимизации и настройки - это отдельная проблема.

Мои вопросы:

  1. Есть ли реализация входного форматера, уменьшающего карту, который напрямую использует собственный протокол Cassandra?

  2. Если нет, то каковы были бы первые шаги для написания моего собственного, например, с помощью драйвера DataStax?

Теги:
cassandra
hadoop
mapreduce
datastax-java-driver

1 ответ

1

Cassandra 2.0.7 включает собственные протоколы протокола для классов CQL Hadoop:

org.apache.cassandra.hadoop.cql3.CqlInputFormat org.apache.cassandra.hadoop.cql3.CqlRecordReader org.apache.cassandra.hadoop.cql3.CqlConfigHelper

Код WordCount в примерах /hasoop_cql3_word_count обновлен для использования этих классов.

JIRA, которая представила это, - https://issues.apache.org/jira/browse/CASSANDRA-6311

  • 0
    Да, я видел это. Однако мне нужно читать из широких рядов, используя нумерацию страниц. И CqlPagingInputFormat и CqlPagingRecordReader все еще используют Thrift, поэтому пишу свою собственную реализацию atm. Не уверен, почему эта проблема помечена как решенная, это не так. Спасибо за ответ, хотя. Я удивлен, что это не было сделано несколько лет назад.
  • 0
    Я не уверен, что буду следовать за вами, если ваши данные находятся в «старых», широких строках, которые вы вручную пролистываете с помощью срезов, то вы бы использовали ColumnFamilyInputFormat. Если ваши данные находятся в таблицах CQL3, то вы не взаимодействуете напрямую с широкими строками, так как C * абстрагирует их от структуры таблицы CQL
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню