实现RawComparator比扩展WritableComparator要快得多吗?看看Text / LongWritable / etc及其内置的比较器,似乎它们基本上只是直接从完整的字节数组中读取字段,而不是使用DataInput,并将值填入键类中。
就我而言,我有一个自定义键类,包含多个字段,包括一些字符串。尝试使用RawComparator sorta进行操作会让我感到害怕,因为它看起来至少在表面上可能难以正确实现。
答案 0 :(得分:1)
是的,你的权利是当你100%确定字节到字节的比较反映数据的等价时,原始的比较器肯定是好的。
您可以使用诸如apache的Thrift或avro之类的库来为您处理二进制序列化 - 在这种情况下,您不必担心您的原始数据被二进制编码不一致。
二进制比较总是比对象反序列化更快......但“那么多”主人?那取决于你如何定义“那么多”:)