Spark编程模型(中)
创建RDD
- 方式一:从集合创建RDD
- makeRDD
- Parallelize
注意:makeRDD可以指定每个分区perferredLocations参数parallelize则没有。
- 方式二:读取外部存储创建RDD
Spark与Hadoop完全兼容,所以对Hadoop所支持的文件类型或者数据库类型,Spark同样支持。
1. 多文件格式支持:
2. 多文件系统支持:
1)本地文件系统
2)S3
3)HDFS
3. 数据库
1)JdbcRDD
2)spark-cassandra-connector(datastax/spark-cassandra-connector)
3)org.apache.hadoop.hbase.mapreduce.TableInputFormat(SparkContext.newAPIHadoopRDD)
4)Elasticsearch-Hadoop
控制操作
1. persist操作,可以将RDD持久化到不同层次的存储介质,以便后续操作重复使用。
1)cache:RDD[T]
2)persist:RDD[T]
3)Persist(level:StorageLevel):RDD[T]
2. checkpoint
将RDD持久化到HDFS中,与persist操作不同的是checkpoint会切断此RDD之前的依赖关系,而persist依然保留RDD的依赖关系。
注意:控制操作的细节会在后续章节专门讲解
转换操作
- 基本转换操作1
(1)RDD的转化操作是返回新的RDD的操作;
(2)我们不应该把RDD看作存放着特定数据的数据集,而最好把每个RDD当作我们通过转化操作构建出来的、记录如何计算数据的指令列表。
- 基本转换操作2
action操作
以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!
本博文由博主子墨言良原创,未经允许禁止转载,若有兴趣请关注博主以第一时间获取更新哦!