Как прочитать файл из HDFS в не Java-клиенте - PullRequest
1 голос
/ 19 февраля 2011

Таким образом, мое задание MR генерирует файл отчета, и этот файл должен быть в состоянии быть загруженным конечным пользователем, который должен щелкнуть по кнопке в обычном веб-интерфейсе создания отчетов и загрузить его.Согласно этому отрывку из книги О'Рейли , существует HTTP-интерфейс только для чтения.В нем говорится, что он основан на XML, но кажется, что это просто обычный веб-интерфейс, предназначенный для просмотра через веб-браузер, а не то, что можно программно запрашивать, перечислять и загружать.Мой единственный способ написать свой собственный интерфейс на основе сервлетов?Или запустить инструмент hadoop cli?

Ответы [ 2 ]

3 голосов
/ 19 февраля 2011

Способ получить программный доступ к HDFS из чего-либо, кроме Java, - это использовать Trift. В исходное дерево HDFS включены предварительно созданные клиентские классы для нескольких языков (Java, Python, PHP, ...).

См. http://wiki.apache.org/hadoop/HDFS-APIs

0 голосов
/ 19 февраля 2011

Боюсь, вам, вероятно, придется согласиться с CLI AFAIK.

Не уверен, что это будет соответствовать вашей ситуации, но я думаю, что было бы разумно иметь любой сценарий, который запускает работу MRвыполните hadoop dfs -get ... после завершения задания в известном каталоге, который обслуживается.

Извините, что не знаю более простого решения.

...