在Spark实际应用中,会用到很多数值处理方法,我将一些比较常用的方法写在这里,供新手向的学习参考一下。
1.1 读取文件至RDD
var rdd = sc.textFile("文件路径")
var rddfromhdfs = sc.textFile("hdfs://hadoop-master-001:9000/hdfs文件路径")
这个当中有很多方法,比较常用的是
//返回一个K,V形式的RDD
sequenceFile[K,V] ()
1.2 缓存到内存
缓存是可以随时用的,但是过多的缓存非常消耗内存资源,所以用的时候需要合理设计
//常用的,持久化
cache()
//不常用的,返回一个List,太占资源,拿来学习用还可以
collect()
//切断“血统”,避免过度占用资源
checkpoint()
1.3 基础转换
没有什么是用基础转换做不了的,如果有那就多用几次。
//把RDD中的元素从一种类型或状态变成另一种,元素个数保持不变
map[U] (f:(T)=>U):RDD[U]
//去重,返回一个没有重复元素的RDD
distinct():RDD[T]
//合并成一个系列的元素,常用于多个Array或者Seq合并成一个Array或者Se