Spark入门(Python)

目录

一、安装Spark

二、Spark基本操作


一、安装Spark

bash 复制代码
pip3 install pyspark

二、Spark基本操作

python 复制代码
# 导入spark的SparkContext,SparkConf模块
from pyspark import SparkContext, SparkConf
# 导入os模块
import os
# 设置PYSPARK的python环境
os.environ['PYSPARK_PYTHON'] = "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\python.exe"

# 构建SparkConf()设置AppName和Master
conf = SparkConf().setAppName("myapp").setMaster("local")
# 构建入口对象SparkContext对象sc
sc = SparkContext(conf=conf)

# 定义列表对象
list1 = [1, 2, 3, 4, 5]
# 构建list对象的RDD对象
rdd1 = sc.parallelize(list1)
print(rdd1.collect())

# 定义元祖tuple对象
tuple1 = (1, 2, 3, 4, 5)
# 构建tuple对象的RDD对象
rdd2 = sc.parallelize(tuple1)
print(rdd2.collect())

# 定义字典对象
dict1 = {'a': 1, 'b': 2, 'c': 3}
# 构建dict对象的RDD对象
rdd3 = sc.parallelize(dict1)
print(rdd3.collect())

# 定义集合对象
set1 = {1, 2, 3, 4, 5}
# 构建集合对象的RDD对象
rdd4 = sc.parallelize(set1)
print(rdd4.collect())

# 定义字符串对象
string1 = "Hello, World!"
# 构建字符串对象的RDD对象
rdd5 = sc.parallelize(string1)
print(rdd5.collect())

# 通过textFile方法构建RDD对象
# data.txt文件内容如下:
# python java python python java
# java python C pascal java
# C java python pascal basic
# basic C java python python
# C C java basic java
rdd6 = sc.textFile('./data.txt')
print(rdd6.collect())

# 使用flatMap算子将rdd6中的元素进行解构拆分
rdd7 = rdd6.flatMap(lambda x: x.split(' '))
print(rdd7.collect())

# 使用map算子将rdd7中的元素进行结构转换
# 构造成(x,1)的元祖
rdd8 = rdd7.map(lambda x:(x,1))
print(rdd8.collect())

# 使用reduceByKey算子对rdd8中的元素进行聚合
rdd9 = rdd8.reduceByKey(lambda x,y:x+y)
print(rdd9.collect())

# 使用sortBy算子对rdd9中的元素进行排序
rdd10 = rdd9.sortBy(lambda x:x[1],ascending=False,numPartitions=1)
print(rdd10.collect())

# 使用filter算子对rdd10中的元素进行过滤
rdd11 = rdd10.filter(lambda x:x[0] == 'java')
print(rdd11.collect())


# def add(x):
#     return x + 1
#
# rdd = rdd1.map(add).map(lambda x: x * 10)
#
# print(rdd.collect())

# rdd = sc.parallelize(['a', 'b', 'd', 'd'])
#
# rdd2 = rdd.map(lambda x:(x,1))
#
# print(rdd2.collect())
#
# rdd3 = rdd2.reduceByKey(lambda x,y:x+y)
#
# print(rdd3.collect())
#
# rdd4 = rdd2.countByKey()
#
# print(rdd4)

sc.stop()
相关推荐
小小爬虾4 分钟前
关于datetime获取时间的问题
python
Lansonli12 分钟前
大数据Spark(六十一):Spark基于Standalone提交任务流程
大数据·分布式·spark
蓝婷儿1 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
chao_7892 小时前
链表题解——两两交换链表中的节点【LeetCode】
数据结构·python·leetcode·链表
大霞上仙2 小时前
nonlocal 与global关键字
开发语言·python
簌簌曌3 小时前
CentOS7 + JDK8 虚拟机安装与 Hadoop + Spark 集群搭建实践
大数据·hadoop·spark
Mark_Aussie3 小时前
Flask-SQLAlchemy使用小结
python·flask
程序员阿龙3 小时前
【精选】计算机毕业设计Python Flask海口天气数据分析可视化系统 气象数据采集处理 天气趋势图表展示 数据可视化平台源码+论文+PPT+讲解
python·flask·课程设计·数据可视化系统·天气数据分析·海口气象数据·pandas 数据处理
ZHOU_WUYI3 小时前
Flask与Celery 项目应用(shared_task使用)
后端·python·flask
且慢.5893 小时前
Python_day47
python·深度学习·计算机视觉