SequenceFile как текстовый CLI с пользовательским классом

У меня есть файл HDFS в SequenceFile формат. Ключ Text и значение является настраиваемым сериализуемым классом (скажем) MyCustomClass, Я хочу прочитать этот файл через hadoop fs -text команда, но она терпит неудачу, поскольку hadoop не знает, что MyCustomClass определение есть.

Я тоже пробовал hdfs dfs - text команда, но получил тот же ответ обратно. Использование hadoop2.

Есть ли способ, которым я могу указать класс (через банку, например, как -cp myjar.jar вариант)?

2 ответа

Решение
hadoop fs -libjars my-lib.jar -text output-dir/part-r-*

Это прочитает в файле последовательности пары ключ / значение и вызовет toString() для обоих объектов, разделив их табуляцией при выводе в stdout. -Libjars указывает, где hadoop может найти ваши собственные классы Key/Value

как к разбору customwritable-из-текста-в-Hadoop

Вы можете добавить банку, содержащую пользовательский класс записи, используя -libjars,

Например:

hadoop fs -libjars <JAR>.jar -text <DIR>

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