spark中的RDD是一个核心概念,RDD是一种弹性分布式数据集,spark计算操作都是基于RDD进行的,本文介绍RDD的基本操作。
Spark 初始化
Spark初始化主要是要创建一个SprakContext实例,该实例表示与spark集群的连接。可以通过多种方式创建。
SparkContext
直接使用SparkContext类创建一个spark上下文,主要参数是指定master和appName。
代码语言:javascript复制from pyspark import SparkContext
sc = SprakContext(master = 'local[*]',appName='test')
SprakContext的属性
代码语言:javascript复制# spark版本
sc.version
'2.3.0'
# python版本
sc.pythonVer
'3.7'
# master地址
sc.master
'local[*]'
# 应用名字
sc.appName
'test'
# 应用id
sc.applicationId
'local-1651730418136'
SparkConf
还可以通过调用SparkConf配置类来生成spark上下文。
代码语言:javascript复制from pyspark import SparkConf, SprakContext
conf = SparkConf().setMaster('local').setAppName('test')
sc = SparkContext(conf=conf)
创建RDD
RDD是spark中的主要数据格式,名称为弹性分布式数据集,可以序列化python对象来得到RDD,或者读取文件。
序列化
代码语言:javascript复制# parallelize方法序列化python对象为RDD
rdd = sc.parallelize([('a', 7), ('a', 2), ('b', 2)])
rdd1 = sc.parallelize([2,5,1,8])
rdd2 = sc.parallelize([('a', 2), ('d', 1), ('b', 1)])
rdd3 = sc.parallelize(range(100))
rdd4 = sc.parallelize([('a', ['x', 'y', 'z']), ('b', ['p', 'r'])])
spark的jobs查看:
【小结】:
RDD是Spark中一个很重要的技术点,未完,待续...