0

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

part-00000 文件的头部如下所示:

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

等等..(左边的数字在文件中!!)。

我怎样才能阅读这个文件?

4

2 回答 2

0

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

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

于 2013-10-21T15:54:14.620 回答
0

您是否尝试手动阅读此内容?在https://www.apache.org/dyn/closer.cgi/avro/中下载 avro-tools Jar,.../java/avro-#.#.#/avro-tools-#.#.#.jar然后运行:

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

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

于 2013-10-31T21:44:18.297 回答