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
Вы можете добавить банку, содержащую пользовательский класс записи, используя -libjars
,
Например:
hadoop fs -libjars <JAR>.jar -text <DIR>