Size: a a a

2019 October 19

ME

Max Efremov in Data Engineers
Товарищи, кто-то имел опыт с elassandra?
источник

A

Alex in Data Engineers
Знакомые гоняли в ажуре, вроде больших замечаний кроме иногда долгих перестроек индекса не ругали
источник

ME

Max Efremov in Data Engineers
Спасибо. Хочу попробовать в своём проекте, как зайдёт)
источник
2019 October 20

A4

Anon 43 in Data Engineers
https://github.com/readonly18/word_count
Смотрю простой пример) кол-во слов, ну вы поняли. Не ясно как работает Reducer. После Mapper, как понял, будет словарь:
Собака 1
Корова 1
Собака 1
Лягушка 1

А в reducer свертка, т.е. Собаки объединятся, и будет
Собака 2
Корова 1
Лягушка 1
источник

A4

Anon 43 in Data Engineers
Но в reduce не вижу сравнения ключей на схожесть, только цикл со счетчиком
Кто-нибудь может подсказать как он работает?
источник

AS

Alexander S in Data Engineers
В редьюсер попадают записи только с одним ключом
источник

A4

Anon 43 in Data Engineers
вот сигнатура метода reduce(Text key, Iterable<IntWritable> values, Context context)
здесь перечисление values, это все значения из словаря что-ли?
источник

A4

Anon 43 in Data Engineers
один ключ, и все значения словаря в метод попадут?
источник

A

Alex in Data Engineers
Да
источник

A4

Anon 43 in Data Engineers
Может быть попадут все values из словаря по ключу key?
источник

A4

Anon 43 in Data Engineers
иначе странно получается
источник

A

Alex in Data Engineers
стоп
источник

A

Alex in Data Engineers
что значит значения словаря
источник

A4

Anon 43 in Data Engineers
Вот словарь ключ => значение
Собака 1
Корова 1
Собака 1
Лягушка 1
источник

A4

Anon 43 in Data Engineers
Тут у одного ключа (Собака) есть два значения
источник

A

Alex in Data Engineers
2 раза по 1 придет
источник

A

Alex in Data Engineers
если я правильно помню реализацию:
делается map в мэпере, результаты пишутся в буфер, буфер СОРТИРУЕТСЯ и кидается на диск

редьюсеры забирают данные с множества мэперов, соответственно это классический sorted merge по файлам получается и на одинаковые ключи вызывается функция reduce

имеется доп оптимизация когда можно первый раз применить функцию reduce ещё на стороне map
это снижает объем записываемых и передаваемых по сети данных
источник

A

Alex in Data Engineers
https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html#Mapper

Users can optionally specify a combiner, via JobConf.setCombinerClass(Class), to perform local aggregation of the intermediate outputs, which helps to cut down the amount of data transferred from the Mapper to the Reducer.
источник

A

Alex in Data Engineers
он называется там комбайнер и можно свой вкинуть, не обязательно от редьюсера класс
источник

A

Alex in Data Engineers
а вот в монге редьюсер и комбайнер должны иметь одинаковую сигнатуру =)
источник