无法读取part-00000(MapReduce输出)

时间:2013-10-21 14:51:12

标签: hadoop mapreduce avro

我正在尝试阅读配置为Avro格式的map-reduce函数的结果 - 但我不能。

part-00000文件的头部如下:

0Objavro.codenullavro.schema G{
37“类型”:“记录”,
59“名字”:“xxx”,
82“领域”:[
98 {
108“名字”:“aaa”,
141“类型”:[
163“字符串”,
189“null”
212]
226},


点。

依旧..(左侧数字在文件中!! )。

我该如何阅读此文件?

2 个答案:

答案 0 :(得分:0)

avrocat和avropipe等实用程序。 avrocat使用Avro spec定义的JSON编码,在单行上输出Avro文件中的每条记录。 avropipe为每条记录中的每个“字段”生成一个单独的行;它的输出(粗略地说)是通过jsonpipe工具管理每条记录的JSON编码所得到的。

参考:http://apache-avro.679487.n3.nabble.com/Getting-started-with-Avro-Reading-from-an-Avro-formatted-file-td3685069.html

答案 1 :(得分:0)

您是否尝试手动阅读此内容?在.../java/avro-#.#.#/avro-tools-#.#.#.jar的{​​{3}}下载avro-tools Jar,然后运行:

java -jar avro-tools-*.jar tojson part-00000.avro > part-00000-converted.json

如果您有有效的Avro输出,则json文件应包含存储在part-00000.avro中的对象。