HBase MapReduce , Работа за несколькими столами

Существуют две таблицы HBase (table1, table2) в качестве источника ввода. Используя MapReduce для сравнения одного столбца в table1 с одним столбцом в table2, если один в table1 эквивалентен столбцу в table2, выведите их в table3.

Как мы можем решить проблему с помощью MapReduce? (Hadoop2.2.0+Hbase0.96.0)

1 ответ

Решение

Первый шаг - перейдите по этой ссылке, чтобы понять, как Hbase Table может быть источником для картографа: Hbase Table as Mapper source

Следующий шаг к вашей конкретной проблеме: у вас будет 2 Mappers (т.е. 2 входа) по одному для каждой таблицы. Вы уменьшаете на основе значений из таблиц. Вам может понадобиться сложный ключ или что-то в значении, чтобы указать, какое значение таблицы пришло в Reducer. В редукторе, если значение / ключ получено из обеих таблиц, т. Е. Из обоих сопоставителей, вы можете использовать Hbase API (ссылка выше также объясняет, как это сделать) для записи в таблицу.

Другие вопросы по тегам