文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Python】PySpark 数据处理 ② ( 安装 PySpark | PySpark 数据处理步骤 | 构建 PySpark 执行环境入口对象 )

2023-10-06 12:27

关注

文章目录





一、安装 PySpark




1、使用 pip 安装 PySpark


执行 Windows + R , 运行 cmd 命令行提示符 ,

在这里插入图片描述

在命令行提示符终端中 , 执行

pip install pyspark

命令 , 安装 PySpark , 安装过程中 , 需要下载 310 M 的安装包 , 耐心等待 ;

在这里插入图片描述

安装完毕 :

在这里插入图片描述

命令行输出 :

C:\Users\octop>pip install pysparkCollecting pyspark  Downloading pyspark-3.4.1.tar.gz (310.8 MB)     |████████████████████████████████| 310.8 MB 126 kB/sCollecting py4j==0.10.9.7  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))': /packages/10/30/a58b32568f1623aaad7db22aa9eafc4c6c194b429ff35bdc55ca2726da47/py4j-0.10.9.7-py2.py3-none-any.whl  Downloading py4j-0.10.9.7-py2.py3-none-any.whl (200 kB)     |████████████████████████████████| 200 kB 1.1 MB/sUsing legacy setup.py install for pyspark, since package 'wheel' is not installed.Installing collected packages: py4j, pyspark    Running setup.py install for pyspark ... doneSuccessfully installed py4j-0.10.9.7 pyspark-3.4.1WARNING: You are using pip version 20.1.1; however, version 23.2.1 is available.You should consider upgrading via the 'y:\001_developtools\015_python\python37\python.exe -m pip install --upgrade pip' command.C:\Users\octop>

2、国内代理镜像


如果使用 官方的源 下载安装 PySpark 的速度太慢 ,

可以使用 国内的 镜像网站 https://pypi.tuna.tsinghua.edu.cn/simple/ ,

这是清华大学提供的源 ;

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark

3、PyCharm 中安装 PySpark


也可以参考 【Python】pyecharts 模块 ② ( 命令行安装 pyecharts 模块 | PyCharm 安装 pyecharts 模块 ) 博客 , 在 PyCharm 中 , 安装 PySpark ;

尝试导入 pyspack 模块中的类 , 如果报错 , 使用报错修复选项 , PyCharm 会自动安装 PySpark ;

在这里插入图片描述





二、PySpark 数据处理步骤



PySpark 编程时 , 先要构建一个 PySpark 执行环境入口对象 , 然后开始执行数据处理操作 ;

数据处理的步骤如下 :

首先 , 要进行数据输入 , 需要读取要处理的原始数据 , 一般通过 SparkContext 执行环境入口对象 执行 数据读取操作 , 读取后得到 RDD 类实例对象 ;

然后 , 进行 数据处理计算 , 对 RDD 类实例对象 成员方法进行各种计算处理 ;

最后 , 输出 处理后的结果 , RDD 对象处理完毕后 , 写出文件 , 或者存储到内存中 ;

在这里插入图片描述


数据的初始形态 , 一般是 JSON 文件 , 文本文件 , 数据库文件 ;

通过 SparkContext 读取 原始文件 到 RDD 中 , 进行数据处理 ;

数据处理完毕后 , 存储到 内存 / 磁盘 / 数据库 中 ;

在这里插入图片描述





三、构建 PySpark 执行环境入口对象



如果想要使用 PySpark 进行数据处理 , 必须构建一个 PySpark 执行环境入口对象 ;

PySpark 执行环境 入口对象 是 SparkContext 类实例对象 ;


首先 , 导入相关包 ;

# 导入 PySpark 相关包from pyspark import SparkConf, SparkContext

然后 , 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务 , 各种配置可以在链式调用中设置 ;

# 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务# setMaster("local[*]") 表示在单机模式下 本机运行# setAppName("hello_spark") 是给 Spark 程序起一个名字sparkConf = SparkConf()\    .setMaster("local[*]")\    .setAppName("hello_spark")

再后 , 创建 PySpark 执行环境 入口对象 ;

# 创建 PySpark 执行环境 入口对象sparkContext = SparkContext(conf=sparkConf)

最后 , 执行完 数据处理 任务后 , 调用 SparkContext#stop 方法 , 停止 Spark 程序 ;

# 停止 PySpark 程序sparkContext.stop()




四、代码示例



代码示例 :

"""PySpark 数据处理"""# 导入 PySpark 相关包from pyspark import SparkConf, SparkContext# 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务# setMaster("local[*]") 表示在单机模式下 本机运行# setAppName("hello_spark") 是给 Spark 程序起一个名字sparkConf = SparkConf()\    .setMaster("local[*]")\    .setAppName("hello_spark")# 创建 PySpark 执行环境 入口对象sparkContext = SparkContext(conf=sparkConf)# 打印 PySpark 版本号print(sparkContext.version)# 停止 PySpark 程序sparkContext.stop()

执行结果 :

Y:\002_WorkSpace\PycharmProjects\pythonProject\venv\Scripts\python.exe Y:/002_WorkSpace/PycharmProjects/HelloPython/hello.py23/07/29 23:08:04 WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblemsSetting default log level to "WARN".To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).23/07/29 23:08:04 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable3.4.1Process finished with exit code 0

在这里插入图片描述

来源地址:https://blog.csdn.net/han1202012/article/details/132000928

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯