【问题标题】:How to decode a binary file which must be decoded using an external binary in one shot?如何解码必须一次性使用外部二进制文件解码的二进制文件?
【发布时间】:2013-04-29 23:53:40
【问题描述】:

我有大量专有二进制格式的输入文件。我需要将它们变成行以进行进一步处理。每个文件必须由外部二进制文件一次性解码(即文件不得连接或拆分)。

我知道的选项:

  1. 强制单个文件加载,扩展 RecordReader,使用 DistributedCache 通过 RecordReader 运行解码器
  2. 强制单个文件加载,RecordReader 返回单个文件,使用 hadoop 流解码每个文件

但是看起来 [2] 不起作用,因为 pig 会在将记录发送到 STREAM 运算符之前将它们连接起来(即它将发送多条记录)。

[1] 似乎可行,只是多做一点工作。

有没有更好的办法?

【问题讨论】:

    标签: hadoop apache-pig hadoop-streaming


    【解决方案1】:

    您提到的选项 1 似乎是最可行的选项。除了扩展 RecordReader 之外,还应扩展适当的 InputFormat 并覆盖 isSplitable() 以返回 false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多