spark04-文件读取分区数据分配原理
创始人
2024-05-25 18:44:16

接 https://blog.csdn.net/oracle8090/article/details/129013345?spm=1001.2014.3001.5502

通过上一节知道 总字节数为7 每个分区字节数为3

代码

  val conf: SparkConf = new SparkConf().setMaster("local").setAppName("wordcount")val sc: SparkContext = new SparkContext(conf)val rdd: RDD[String] = sc.textFile("datas/1.txt",2)rdd.saveAsTextFile("output")

通过运营最终得到的输出文件为:

part-00002为空文件

1.spark读取文件采用的是Hadoop方式读取,所以一行一行读取,跟字节数没有关系

2.数据读取时以偏移量为单位,偏移量不会被重新读取

/*数据(回车占两字符)=》偏移量

1@@ =>0 1 2

2@@ =>3 4 5

3 =>6

*/

3 数据分区的偏移量范围

0号分区 =>[0,3]=>1 2 偏移量是0-3 读取1@@ 2,但是以行为单位读取最终读取的为1@@,2@@,因此第一个分区文件分配的数字为1 2

1号分区 =>[3,6] => 3 偏移量是3-6 但是3 4 5 偏移量已经被0号分区读取过了,因此第二个分区文件分配的数字为3

2号分区 =>[6,7]

相关内容

热门资讯

世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...