SPARK CORE(python编程)

一、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():笛卡尔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章