Как стать автором
Обновить

Комментарии 8

> С ростом популярности Hadoop появились компании (такие как Cloudera, Hortonworks, MapR), которые предоставляют собственные сборки Hadoop и мощные средства для управления Hadoop-кластером.
> В нашем цикле материалов мы будем пользоваться сборкой Hadoop от компании Cloudera.
Несмотря на то, что выбор мне кажется разумным для студентов, которые первый раз увидят консоль, аргументированность выбора просто потрясает.
Большой разницы что использовать нет. Я использую ту технологию, в которой у меня больше опыта. Для того чтобы разобрать отличия между различными нужно проводить исследование. Возможно у меня когда-то дойдут руки и до этого, но пока мне кажется разница не принципиальной.
А вы бы что посоветовали выбрать?
Расскажите, пожалуйста, каким образом Apache Cassandra является одним из проектов "непосредственно связанных с Hadoop, но не входящих в Hadoop core"?

Cassandra не использует hdfs и yarn. Она может выступать как hadoop inputformat/outputformat, но то же самое относится ещё к куче баз и форматов.
Вы правы, cassandra не использует yarn и hdfs. На самом деле грань «непосредственности» очень тонкая. Чтобы не придумывать ее самому — я взял несколько примеров с оффициального сайта hadoop (http://hadoop.apache.org/) из раздела «hadoop related projects». Cassandra там есть.
Точнее сказать, там указаны hadoop-related projects at Apache, т. е. проекты имеющие отношение к hadoop в рамках пула проектов ASF. И Cassandra, как относящаяся к bigdata-стеку Apache, имеет отношение к hadoop, как одно из интегрируемых с hadoop MR input/output formats.

При этом Cassandra развивается независимо, имеет других коммитеров (только 1 из 28 также является коммитером hadoop). PMC совсем не пересекаются. Мне не понравилась ваша формулировка.
Вероятно, не очень актуальный комментарий, но оставлю.
По крайней мере, приложение на Java, работает некорректно.
команда:
./hdfs dfs -text /lenta_wordcount/* | sort -n -k2,2 | tail -n5

дает такой результат:
№15	1
№5	1
№5	1
№5	1
№5	1


Как я понимаю, не корректно работает reduce.
Собственно, причина оказалась в том, что метод reduce был перегружен, а не наследовался от соответствующего метода класса Reducer. Правильная сигнатура:
@Override
protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.