spark基础

查看hdfs文件分块

hdfs dfs -mkdir -p  /events/data

hdfs dfs -put  /xxx/xx/3.csv(本地目录)   /events/data(hdfs目录)

hdfs fsck /events/data/events.csv -files -blocks    //查看文件有多少个物理分块

128M一块,所以1.17G被分成9个物理块,这个文件用spark来装逻辑块,如果一条记录数据量不大的话,

物理块基本等于逻辑块数量,如果太大,可能会不一样。

它的意思就是比如说极端情况下,我有130M的文件,这是2个物理块对吧,一个128M,一个2M,假设我极端情况只有2条数据,那物理块那一刀其实是切在我第二条数据的尾巴了,所以说第二个物理块上有我不可分割的数据,虽然是两个物理块,

但实际上只是1个逻辑块。

 

 

spark分区:

默认的就是文件有多少个逻辑块装进spark,就有多少个分区。

当然你可以自己设置分区的数目,这样的话,比如你机器很充裕,你可以按你机器的数量来分区。这是有别

于mapreduce的地方。

 

val wc = sc.textFile("hdfs:///events/data/3.txt",20)   //从hdfs加载文件

val wc = sc.textFile("file:///home/liugen/3.txt",20)    //分成20个分区,默认是按hdfs中逻辑块的数量来分。

val data=wc.partitions.size   //wc是一个RDD对象,查看他分区的数量

vale data=wc.repartition(25)   //在wc的基础上重新生成一个25分区的变量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值