创建RDD和RDD的持久化

创建RDD的方式

第一种:通过并行化的方式创建RDD

val arr = Array(1,2,3,4,5,6,7)
val rdd = sc.paralleize(arr,4) //并行化程度是4
//默认是根据集群的情况来设置分区,建议一个cpu分2-4个partition

第二种方式:使用本地文件或者HDFS创建RDD
textfile来读取文件创建RDD,默认情况下每一个Block创建一个partition,分区只能比block多

第三种方式:使用其他的RDD生成RDD

RDD持久化

可以将RDD持久化到内存中,只需要调用cache()或者persist()方法即可
unpersist方法是清除缓存
持久化策略:
StorageLevel[
Memory_Only //只有内存 默认情况
memory_AND_disk //内存和磁盘
MEMORY_ONLY_SER //内存的序列化存储
MEMORY_ADN_DISK_SER //内存和磁盘的序列化存储
DISK_ONLY //磁盘存储
MEMORY_ONLY_2 //表示会存储两份,另一份是备份
]
以下的这几种方式不建议使用:
memory_AND_disk //内存和磁盘
MEMORY_ONLY_SER //内存的序列化存储
MEMORY_ADN_DISK_SER //内存和磁盘的序列化存储
DISK_ONLY //磁盘存储
还不如从新计算一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值