如何解码一个二进制文件,必须在一个镜头解码使用外部二进制文件?

atmip9wb  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(513)

我有大量二进制格式的输入文件。我需要把它们分成几行以便进一步处理。每个文件必须由一个外部二进制文件一次解码(即文件不得串联或分割)。
我知道的选项:
强制单文件加载,扩展recordreader,使用distributedcache通过recordreader运行解码器
强制单个文件加载,recordreader返回单个文件,使用hadoop流对每个文件进行解码
然而,看起来[2]将不起作用,因为pig将在将记录发送给stream操作符之前连接记录(即,它将发送多个记录)。
[1] 似乎可行,只是多一点工作。
有更好的办法吗?

chhqkbe1

chhqkbe11#

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

相关问题