sparkRDD

什么是RDD

RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。

RDD的属性

  • 一组分区(Partition),即数据集的基本组成单位
  • 一个计算每个分区的函数
  • RDD之间的依赖关系
  • 一个Partitioner,即RDD的分片函数
  • 一个列表,存储存取每个Partition的优先位置

RDD的重要特点-----只读

RDD是只读的,要想改变RDD中的数据,只能在现有的RDD基础上创建新的RDD。
由一个RDD转换到另一个RDD,可以通过丰富的操作算子实现

RDD的操作算子包括两类
一类叫做transformations,它是用来将RDD进行转化,构建RDD的血缘关系;
另一类叫做actions,它是用来触发RDD的计算,得到RDD的相关计算结果或者将RDD保存的文件系统中。

RDD的创建

主要讲解两种创建rdd的方式。

1.从数组中创建rdd
2.使用外部文件系统创建rdd
IDE:安装有Scala插件的eclipse
开发语言:Scala

示例代码如下:`

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object CreateRDD {
  def main(args: Array[String]): Unit = {
    //创建SparkConf
    var conf = new SparkConf();
    conf.setMaster("local[*]")
    conf.setAppName("tonight")
    var sc = new SparkContext(conf);
    //调用方法
    createByArray(sc)
    createByTextFile(sc)
    //停止 
  }
  def createByArray(sc:SparkContext)={
    println("使用数组创建一个RDD然后遍历这个RDD")
    var arr = Array(10,20,30,40,50)
    var arrRDD =sc.parallelize(arr)
    arrRDD.foreach(println(_))
  }
  def createByTextFile(sc:SparkContext)={
    println("使用外部文件创建一个RDD然后遍历这个RDD")
    var path = "C:/Users/dell/Desktop/spark_java_data/data.txt"
    var textRDD = sc.textFile(path)
    //获取到的数据是文件里的每一行
    textRDD.foreach(println(_))
  
  }
}


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值