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



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

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

      0 Objavro.codenullavro.schema G{
37         "类型": "记录",
59         "名称": "XXX",
82         "字段":[
98           {
108           "名称": "AAA",
141           "类型": [
163           "字符串",
189           "空"
212                     ]
226             },
.
.
.

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

如何读取此文件?

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新