RDD编程基础

RDD创建

从文件系 统中加载数据创建RDD

Spark采用extFile()方法来从文件系统中加载数据创建RDD
该方法把文件的URI作为参数,这个URI可以是:
本地文件系统的地址
或者是分布式文件系统HDFS的地址
或者是Amazon S3的地址等等

(1)从本地文件系统中加载数据创建RDD

from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf = conf)
lines = sc.textFile("file:///usr/local/spark/mycode/rdd/word.txt")
lines.foreach(print)
Hadoop is good
Spark is fast
Spark is better

在这里插入图片描述

(2)从分布式文件系统HDFS中加载数据,三条语句是完全等价的,可以使用其中任意一种方式

lines = sc.textFile("hdfs://localhost:9000/user/hadoop/word.txt")
lines = sc.textFile("/user/hadoop/word.txt")
lines = sc.textFile("word.txt")

通过并行集合(列表)创建RDD

可以调用SparkContext的parallelize方法,在Driver中一个已经存在的集合 (列表)上创建。

array = [1,2,3,4,5]
rdd = sc.parallelize(array)
rdd.foreach(print)
1
2
3
4
5

RDD操作

转换操作

filter(func)

筛选出满足函数func的元素,并返回一个新的数据集

lines = sc.textFile("file:///usr/local/spark/mycode/rdd/word.txt")
linesWithSpark = lines.filter(lambda line: "Spark" in line)
linesWithSpark.foreach(print)
Spark is better
Spark is fast

在这里插入图片描述

map(func)

将每个元素传递到函数func中,并将结果返回为一个新的数据集

data = [1,2,3,4,5]
rdd1 = sc.parallelize(data)
rdd2 = rdd1.map(lambda x:x+10)
rdd2.foreach(print)
11
13
12
14
15

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值