当前位置: 首页 > news >正文

Spark入门(Python)

目录

一、安装Spark

二、Spark基本操作


一、安装Spark

pip3 install pyspark

二、Spark基本操作

# 导入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()

http://www.lryc.cn/news/527763.html

相关文章:

  • Daemon进程创建过程
  • 在sortablejs的拖拽排序情况下阻止input拖拽事件
  • C++初阶—string类
  • C# 提取PDF表单数据
  • 算法刷题Day28:BM66 最长公共子串
  • 论文阅读笔记:MambaOut: Do We Really Need Mamba for Vision?
  • HarmonyOS:ForEach:循环渲染
  • Python3 【函数】项目实战:5 个新颖的学习案例
  • XSS 漏洞全面解析:原理、危害与防范
  • 从 GShard 到 DeepSeek-V3:回顾 MoE 大模型负载均衡策略演进
  • 【回溯+剪枝】回溯算法的概念 全排列问题
  • Flutter解决macbook M芯片Android Studio中不显示IOS真机的问题
  • 自签证书的dockerfile中from命令无法拉取镜像而docker的pull命令能拉取镜像
  • 【MySQL】--- 复合查询 内外连接
  • QT TLS initialization failed
  • 系统学英语 — 句法 — 复合句
  • 指针的介绍2前
  • 16.Word:石油化工设备技术❗【28】
  • Python-基础环境(01) 虚拟环境,Python 基础环境之虚拟环境,一篇文章助你完全搞懂!
  • Dest1ny漏洞库:用友 U8-CRM 系统 ajaxgetborrowdata.php 存在 SQL 注入漏洞
  • java.sql.Date 弃用分析与替代方案
  • HarmonyOS:状态管理最佳实践
  • 如何提高新产品研发效率
  • MongoDB平替数据库对比
  • JavaScript系列(46)-- WebGL图形编程详解
  • YOLO目标检测4
  • 十三先天记
  • 【论文阅读笔记】“万字”关于深度学习的图像和视频阴影检测、去除和生成的综述笔记 | 2024.9.3
  • Android AOP:aspectjx
  • 前端【11】HTML+CSS+jQUery实战项目--实现一个简单的todolist