如何使用固定大小的键将行拆分为(键,值)对

How to split line into (key, value) pair with fixed size key

我是 Apache Spark 的新手,我有一个文件,其中每个句子的前 10 个字符是一个键,其余的是一个值,我如何对其应用 spark 排序以提取每个句子的前 10 个字符sentence 作为键,rest 作为数据,所以最后我得到一个 [key,value] 对 Rdd 作为输出。

maptakedrop 应该可以解决问题:

rdd.map(line => (line.take(10), line.drop(10)))

排序:

val sorted = rdd.sortByKey

准备输出:

val lines = sorted.map { case (k, v) => s"$k $v" }