我有SequenceFile
格式的HDFS文件。键是Text
,值是自定义可序列化类(比如说)MyCustomClass
。我想通过hadoop fs -text
命令读取此文件但由于hadoop不知道MyCustomClass
定义是什么而失败。
我也尝试了hdfs dfs - text
命令但得到了同样的回复。使用hadoop2。
有没有办法可以指定类(例如通过jar,例如-cp myjar.jar
选项)?
答案 0 :(得分:1)
您可以使用-libjars
添加包含自定义可写类的jar。
例如:
hadoop fs -libjars <JAR>.jar -text <DIR>
答案 1 :(得分:0)
hadoop fs -libjars my-lib.jar -text output-dir/part-r-*
这将读取序列文件键/值对并在两个对象上调用toString(),在输出到stdout时将它们分开。 -libjars指定hadoop可以找到自定义键/值类的位置