Spark编程模型(中)

创建RDD

方式一:从集合创建RDD

  • makeRDD
  • Parallelize

注意:makeRDD可以指定每个分区perferredLocations参数parallelize则没有。

方式二:读取外部存储创建RDD
  Spark与Hadoop完全兼容,所以对Hadoop所支持的文件类型或者数据库类型,Spark同样支持。

  1. 多文件格式支持:
    Spark编程模型(中)

  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当作我们通过转化操作构建出来的、记录如何计算数据的指令列表。
Spark编程模型(中)

基本转换操作2
Spark编程模型(中)

action操作

Spark编程模型(中)

以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!