草庐IT

RawComparator

全部标签

hadoop - RawComparator 的意义是什么以及我们在什么情况下使用它

什么是RawComparator及其意义?每个mapreduce程序都必须使用RawComparator吗? 最佳答案 RawComparator直接操作对象的字节表示不是强制在每个mapreduce程序中使用它MapReduce本质上是一个批处理系统,而不是适用于交互式分析。您无法运行查询并在几秒或更短时间内获得结果。查询通常需要几分钟或更长时间,因此最适合离线使用,因为没有人坐在处理循环中等待结果。如果您仍然想优化MapReduceJob所花费的时间,那么您必须使用RawComparator。RawComparator的使用:中

hadoop - Spark rawcomparator 上序列化对象的比较

我想知道如何序列化String(java.lang.String)和Text(org.apache.hadoop.io.Text)类型的对象>在Spark上进行比较。任何一种类型都应该用作RDD元素的键。所以我想知道比较这些类型的对象的方式是否存在差异。这可能与以下情​​况相关:RDD.saveAsObjectFile和SparkContext.objectFile支持将RDD保存为序列化对象并加载它。StorageLevel.MEMORY_AND_DISK_SER作为调用RDD.persist()时提供的存储级别。Hadoop提供了RawComparator作为Java的Compar

hadoop - 实现 RawComparator 真的那么快吗?

实现RawComparator是否比扩展WritableComparator快得多?查看Text/LongWritable/etc及其内置比较器,它们似乎基本上只是直接从完整字节数组中读取字段,而不是使用DataInput,并将值填充到键类中。在我的例子中,我有一个自定义键类,它有多个字段,混合类型包括一些字符串。尝试使用RawComparator来解决这个问题让我有点害怕,因为它看起来,至少从表面上看,可能很难正确实现。 最佳答案 是的,当您100%确定字节到字节的比较反射(reflect)了数据等价性时,原始比较器绝对是好的。您