Spark RDD

第一章 创建RDD
一、RDD是什么
(一)、RDD概念
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据
处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行
计算的集合。
(一)、RDD主要特征
RDD是不可变的,但可以将RDD转换成新的RDD进行操作
RDD是可分区的。RDD由很多分区组成,每个分区对应一个Task任务来执行。
对RDD进行操作,相当于对RDD的每个分区进行操作。
RDD拥有一系列对分区进行计算的函数,称为算子。
RDD之间存在依赖关系,可以实现管道化,避免了中间数据的存储。

二、准备工作

(二)、准备文件

1、准备本地系统文件

  • 在/home/atguigu目录里创建test.txt
    在这里插入图片描述
  • 单词用空格分隔
    在这里插入图片描述

    2、启动HDFS服务

    在这里插入图片描述

     

    3、上传文件到HDFS

    在这里插入图片描述

    (二)启动Spark Shell

    1、启动Spark服务

  • 执行命令:start-all.sh

 

  • 在这里插入图片描述

2、启动Spark Shell

  • 执行命令:spark-shell --master=local[*]

 

 

三、创建RDD
RDD中的数据来源可以是程序中的对象集合,也可以是外部存储系统中的数据集,例如共享文件系统、HDFS、HBase或任何提供HadoopInputFormat的数据源。
(一)从对象集合创建RDD
Spark可以通过parallelize()或makeRDD()方法将一个对象集合转化为RDD。
1、利用parallelize()方法创建RDD

 

2、利用makeRDD()方法创建RDD

在这里插入图片描述

  • 执行命令:rdd.collect(),收集rdd数据进行显示

  • (二)从外部存储创建RDD
    1、读取本地系统文件
    执行命令:val rdd = sc.textFile(“file:///home/test.txt”)

     

 执行命令:val lines = rdd.collect(),查看RDD中的内容,保存到常量lines

 

执行命令:lines.foreach(println)(利用foreach遍历算子)
在这里插入图片描述

执行命令:for (line <- lines) println(line)
在这里插入图片描述

2、读取HDFS上的文件

  • val rdd = sc.textFile(“hdfs://master:9000/park/test.txt”)

  •  执行命令:val lines = rdd.collect,查看RDD中的内容
    在这里插入图片描述

     

 执行val sparkLines = rdd.filter(_.contains(“spark”))
在这里插入图片描述

 

 遍历算子
在这里插入图片描述

 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值