我想使用hadoop示例RandomWriter做基准测试并生成文件。键和值的类型都是BytesWritable。那么如何使用Spark对此文件进行排序?好像我不能直接调用sortByKey()。
答案 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>
嗯,据我所知。为上下文添加一些小代码片段是个好主意。例如,无法实现的最小函数/方法的接口通常很有用。