这是我创建RDD的程序代码
package com.syc.bigdata.spark.core.rdd.builder
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Spark02_RDD_File_Par1 {
def main(args: Array[String]): Unit = {
//TODO 准备环境
//*号表示本地环境中最大可用核数,采用多线程模拟集群环境
var sparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
val sc = new SparkContext(sparkConf)
//TODO 创建RDD
//TODO 数据分区的分配
val rdd: RDD[String] = sc.textFile("datas/1.txt",2)
rdd.saveAsTextFile("output")
//TODO 关闭环境
sc.stop()
}
}
这是用于读取的文件datas/1.txt,其中CR为回车符,LF为换行符
这是代码运行完成后产生的三个分区数据文件
请问什么样的机制导致了这样的数据划分结果,并且数据的内容产生了变化?(少了两个CR符,多了一个LF符)
注:我使用的spark-core版本为spark-core_2.12-3.0.0.jar
可参考如下,这里有划分分区的各个角度,以及划分分区的源码解析:
https://blog.csdn.net/weixin_40751045/article/details/89517839
https://blog.csdn.net/qq_43192537/article/details/110279319
https://www.cnblogs.com/guoyu1/p/12300404.html
https://blog.csdn.net/qq_40180229/article/details/105587878
https://blog.csdn.net/qq_26502245/article/details/88369642
如有帮助,望采纳