创建RDD

本文介绍了RDD的概念,提供创建RDD的步骤,包括从对象集合和外部存储(本地系统及HDFS)创建RDD,并展示了如何使用Spark Shell操作RDD,如读取、过滤和显示数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、RDD为何物

(一)RDD概念

(二)RDD示例

二、做好准备工作

(一)准备文件

1、准备本地系统文件

  • /home目录里创建test.txt

单词用空格分隔

2、启动HDFS服务

  • 执行命令:start-dfs.sh

 

3、上传文件到HDFS

  • test.txt上传到HDFS的/park目录里

 查看文件内容

 

(二)启动Spark Shell

1、启动Spark服务

  • 录执行命令:start-all.sh

 三、创建RDD

(一)从对象集合创建RDD
Spark可以通过parallelize()或makeRDD()方法将一个对象集合转化为RDD。
1、利用parallelize()方法创建RDD
执行命令:val rdd = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8))

 

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

  • 执行命令:val rdd = sc.makeRDD(List(1, 2, 3, 4, 5, 6, 7, 8))

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

 其实,行动算子[action operator]collect()的括号可以省略的

 从外部存储创建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中的内容

 获取包含spark的行,执行命令:val sparkLines = rdd.filter((line) => line.contains("spark"))(filter是一个转换算子[transformation operator])

 

 其实,有更简单的写法,执行命令:val sparkLines = rdd.filter(_.contains("spark"))

 利用遍历算子显示sparkLines内容

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值