问题:
无论提供多少并行,此声明始终给出正确的结果。为什么它总是给出正确的结果?
读取大文件或mapPartitions方法会导致精确度的轻微损失,为什么不在这里呢?它必须简单,但我看不到它。
val rdd = sc.parallelize(Array("A", "B", "C", "D", "E", "F"),5)
rdd.sliding(2).collect()
答案 0 :(得分:1)
读取大文件或mapPartitions方法会导致精确度的轻微损失,
不会。结果完全独立于来源。
答案 1 :(得分:0)
来自Hortonworks:
sliding()跟踪分区索引,在这种情况下对应于unigrams的排序。
Compare rdd.mapPartitionsWithIndex { (i, p) => p.map { e => (i, e) } }.collect() and rdd.sliding(2).mapPartitionsWithIndex { (i, p) => p.map { e => (i, e) } }.collect() to help with the intuition.