我正在使用Elephant Bird 的可拆分 LZO 压缩将序列化的 Thrift 记录写入文件。为了实现这一点,我正在使用他们的ThriftBlockWriter
课程。然后,我的 Scalding 作业使用FixedPathLzoThrift源来处理记录。这一切都很好。问题是我仅限于单个 Thrift 类的记录。
我想开始使用RawBlockWriter
而不是ThriftBlockWriter[MyThriftClass]
. 因此,我的输入将是 LZO 压缩的原始字节数组,而不是 LZO 压缩的 Thrift 记录。我的问题是:我应该用什么代替FixedPathLzoThrift[MyThriftClass]
?
“protocol-buffers”标签的解释:Elephant Bird 使用 Protocol BuffersSerializedBlock
类来包装原始输入,如此处所示。