Apache spark SPARK-如何强制sc上的错误并行化
问题: 这句话总是给出正确的结果,不管并行化提供了多少。为什么它总是给出正确的结果 读取大文件或mapPartitions方法会导致精度的轻微损失,为什么不在这里?这一定很简单,但我看不出来Apache spark SPARK-如何强制sc上的错误并行化,apache-spark,Apache Spark,问题: 这句话总是给出正确的结果,不管并行化提供了多少。为什么它总是给出正确的结果 读取大文件或mapPartitions方法会导致精度的轻微损失,为什么不在这里?这一定很简单,但我看不出来 val rdd = sc.parallelize(Array("A", "B", "C", "D", "E", "F"),5) rdd.sliding(2).collect() 读取大文件或mapPartitions方法会导致精度的轻微损失 不会的。结果与来源无关。来自Hortonworks: sl
val rdd = sc.parallelize(Array("A", "B", "C", "D", "E", "F"),5)
rdd.sliding(2).collect()
读取大文件或mapPartitions方法会导致精度的轻微损失
不会的。结果与来源无关。来自Hortonworks:
slideing()跟踪分区索引,在本例中,分区索引对应于Unigram的顺序
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.
但是因为什么?如果我有一个大文件,我理解的数据边界将丢失。同样,如果我为了论证而写一个mapPartitions,也是一样的。我写了一个这样的def,并很容易地证明了这一点。那么,是什么原因使它总是好的呢。对于求和和和乘法,这都很容易理解。我知道没有损失,但我正在寻找原因来解释原因!我模拟了一种映射方法。整个想法是拥有超过1个mapPartition?