SequenceFile作为带有自定义类的文本CLI

时间:2016-07-25 17:15:40

标签: hadoop command-line-interface sequencefile

我有SequenceFile格式的HDFS文件。键是Text,值是自定义可序列化类(比如说)MyCustomClass。我想通过hadoop fs -text命令读取此文件但由于hadoop不知道MyCustomClass定义是什么而失败。

我也尝试了hdfs dfs - text命令但得到了同样的回复。使用hadoop2。

有没有办法可以指定类(例如通过jar,例如-cp myjar.jar选项)?

2 个答案:

答案 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可以找到自定义键/值类的位置

how-to-parse-customwritable-from-text-in-hadoop