一、SPARK CORE的使用
1.在JUPYTER网页上创建新的ipynb文件

2.环境准备代码
import os
import sys
spark_home = os.environ.get('SPARK_HOME',None)
if not spark_home:
raise ValueError('SPARK_HOME enviroment variable is not set')
sys.path.insert(0,os.path.join(spark_home,'python'))
sys.path.insert(0,os.path.join(spark_home,'python/lib/py4j-0.10.4-src.zip'))
exec(open(os.path.join(spark_home,'python/pyspark/shell.py')).read())
运行后显示

二、概念
1.SPARK CORE:spark生态圈的核心
RDD:容错性分布数据(Resilient Distributed Dataset),SPARK CORE的任务就是对这些数据进行分布式计算
2.RDD类型:
- 并行集合(分布式化的数据对象,类比python中的list)
- 文件系统数据集(Hadoop Datasets.文本文件,如通过sc.textFile()读取的数据)
对RDD的操作
- 变换(Transformations):返回值仍是RDD,但是只有等到Actions操作时才会真正计算给出结果--Lazy Evaluation
- 操作(Actions):返回值是非并行化的数据集合如python的list
3.并行化集合(我们处里的RDD数据,所有对于集合而言,第一步需要并行化)
parallelize(list)

可以看到我们的集合已经成功并行化
4.取值操作
take(n):从rdd返回n个元素
top(num):从rdd返回最大的num个数的元素
first():从rdd返回第一个元素
collect():从rdd返回所有元素

5.rdd元素变换
- map(): map()函数需要一个参数,参数是一个函数,简单理解:将RDD的每一个元素取出,分别通过这个函数变换之后,返回一个新的RDD. 这里使用匿名函数(lambda),给RDD每一个元素执行加一的变量,最后通过collect()操作查看结果

- flatMap(): 注意传入的函数的返回值一定要是可迭代的对象(比如元组 集合 列表)简单的理解:对RDD每一个元素执行函数变换,返回一个迭代器,最后展平结果

- filter(): 参数同样是一个函数,作用是过滤元素 执行过程:将RDD每一个元素执行你写的条件判断语句,只有结果为True才返回

- 其他
- union():联合 intersection():交集 subtract():差集 cartesian():笛卡尔


本文详细介绍SPARKCORE的使用及RDD(Resilient Distributed Dataset)的概念与操作,包括环境配置、并行化集合的创建、取值操作、元素变换等关键步骤。深入探讨RDD类型及其在分布式计算中的应用。
2412

被折叠的 条评论
为什么被折叠?



