Задание MapReduce с выводом файла HAR

У меня есть несколько небольших входных файлов. Для запуска задания сокращения карты с несколькими входными файлами это будет команда:

hadoop jar <jarname> <packagename.classname> <input_dir> <output>

Но если в приведенном выше случае является просто текстовым файлом и должен быть HAR файл, что будет команда, так что весь вывод задания MapReduce является архивом HAR?

1 ответ

Решение

Задание MapReduce, которое вы выполняете в своем примере, не может записать свои выходные данные непосредственно в файл har. Вместо этого вы можете запустить hadoop archive как этап последующей обработки после задания MapReduce для упаковки вывода задания MapReduce в файл har.

> hadoop jar */share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /README.txt /wordcountout

> hdfs dfs -ls /wordcountout
Found 2 items
-rw-r--r--   3 chris supergroup          0 2015-12-16 11:28 /wordcountout/_SUCCESS
-rw-r--r--   3 chris supergroup       1306 2015-12-16 11:28 /wordcountout/part-r-00000

> hadoop archive -archiveName wordcountout.har -p /wordcountout /archiveout

> hdfs dfs -ls har:///archiveout/wordcountout.har
Found 2 items
-rw-r--r--   3 chris supergroup          0 2015-12-16 12:17 har:///archiveout/wordcountout.har/_SUCCESS
-rw-r--r--   3 chris supergroup       1306 2015-12-16 12:17 har:///archiveout/wordcountout.har/part-r-00000

Вы можете при желании удалить оригинальное содержимое (/wordcountout в моем примере), если для ваших нужд достаточно иметь только данные в формате har.

Дополнительная информация о hadoop archive Команда доступна здесь:

http://hadoop.apache.org/docs/r2.7.1/hadoop-archives/HadoopArchives.html

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