Spark - 按类型BytesWritable按键排序

时间:2015-03-19 15:08:36

标签: scala hadoop apache-spark

我想使用hadoop示例RandomWriter做基准测试并生成文件。键和值的类型都是BytesWritable。那么如何使用Spark对此文件进行排序?好像我不能直接调用sortByKey()。

1 个答案:

答案 0 :(得分:1)

您要做的是在RDD中使用.sortBy方法,对吧?这就是为什么你找不到.sortByKey的{​​{1}}方法。

正如@JustinPihony指出的那样,这需要对密钥进行隐式排序,在这种情况下(AFAIK)将被定义为:

OrderedRDDFunctions

然后,您只需要从implicit val randomWriterOrdering = new Ordering[RandomWriter] { def compare(a: RandomWriter, b: RandomWriter) = a compareTo b } 中提取RandomWriter,并使用文档显示为RDD的函数,因为方法中的所有其他参数都具有默认值。< / p>

嗯,据我所知。为上下文添加一些小代码片段是个好主意。例如,无法实现的最小函数/方法的接口通常很有用。