Запись данных в MySQL из Hadoop Reducer - PullRequest
4 голосов
/ 06 декабря 2011

Я экспериментирую с Hadoop Map-Reduce и в своих тестах я могу сохранять выходные данные редукторов в HBase.Однако я хочу записать данные в базу данных mysql вместо HBase.Картографы по-прежнему будут читать свои входные данные из HBase.Я нашел это, но он требует использовать MySQL как на входе, так и на выходе, в то время как он мне нужен только на выходе.Кроме того, выше ссылка использует некоторые устаревшие классы из пакета org.apache.hadoop.mapred, для которого теперь доступен новый пакет org.apache.hadoop.mapreduce, однако я не могу найти учебник, использующий этотновый пакет до сих пор.

1 Ответ

1 голос
/ 06 декабря 2011

Я нашел это, но он требует использовать MySQL как на входе, так и на выходе, в то время как он нужен только на выходе.

InputFormat (DBInputFormat) не зависит от OutputFormat (DBOutputFormat). Должна быть предусмотрена возможность чтения из HBase в Mapper и записи в DB в редукторе.

С помощью нового API-интерфейса MR установите Job # setInputFormat и Job # setOutputFormat, при этом старый API-интерфейс MR установите JobConf # setInputFormat и JobConf # setOutputFormat соответственно тому, какой формат ввода / вывода требуется. Оба эти формата не должны быть одинаковыми. Должна быть предусмотрена возможность чтения из XML в преобразователе и, при необходимости, записи в очередь в редукторе.

Кроме того, приведенная выше ссылка использует некоторые устаревшие классы из пакета org.apache.hadoop.mapred, для которого сейчас доступен новый пакет org.apache.hadoop.mapreduce, однако я не могу найти учебник с использованием этого нового пакета до Теперь.

Если вам не безразличен старый API, используйте его. Существует небольшая разница в функциональности между новым и старым API. Есть два DBInputFormat для старого и нового API. Убедитесь, что вы не смешиваете старые / новые InputFormats со старым / новым MR API.

Вот учебник по новому API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...