【Python】PySpark 数据处理 ② ( 安装 PySpark | PySpark 数据处理步骤 | 构建 PySpark 执行环境入口对象 )
后台-插件-广告管理-内容页头部广告(手机) |
文章目录
- 一、安装 PySpark
- 1、使用 pip 安装 PySpark
- 2、国内代理镜像
- 3、PyCharm 中安装 PySpark
- 二、PySpark 数据处理步骤
- 三、构建 PySpark 执行环境入口对象
- 四、代码示例
一、安装 PySpark
1、使用 pip 安装 PySpark
执行 Windows + R , 运行 cmd 命令行提示符 ,
在命令行提示符终端中 , 执行
pip install pyspark- 1
命令 , 安装 PySpark , 安装过程中 , 需要下载 310 M 的安装包 , 耐心等待 ;
安装完毕 :
命令行输出 :
C:\Users\octop>pip install pyspark Collecting pyspark Downloading pyspark-3.4.1.tar.gz (310.8 MB) |████████████████████████████████| 310.8 MB 126 kB/s Collecting 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/s Using legacy setup.py install for pyspark, since package 'wheel' is not installed. Installing collected packages: py4j, pyspark Running setup.py install for pyspark ... done Successfully installed py4j-0.10.9.7 pyspark-3.4.1 WARNING: 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>- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
2、国内代理镜像
如果使用 官方的源 下载安装 PySpark 的速度太慢 ,
可以使用 国内的 镜像网站 https://pypi.tuna.tsinghua.edu.cn/simple/ ,
这是清华大学提供的源 ;
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark- 1
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- 1
- 2
然后 , 创建 SparkConf 实例对象 , 该对象用于配置 Spark 任务 , 各种配置可以在链式调用中设置 ;
- 调用 SparkConf#setMaster 函数 , 可以设置运行模式 , 单机模式 / 集群模式 ;
- 调用 SparkConf#setAppName函数 , 可以设置 Spark 程序 名字 ;
- 1
- 2
- 3
- 4
- 5
- 6
再后 , 创建 PySpark 执行环境 入口对象 ;
# 创建 PySpark 执行环境 入口对象 sparkContext = SparkContext(conf=sparkConf)- 1
- 2
最后 , 执行完 数据处理 任务后 , 调用 SparkContext#stop 方法 , 停止 Spark 程序 ;
# 停止 PySpark 程序 sparkContext.stop()- 1
- 2
四、代码示例
代码示例 :
""" 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()- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
执行结果 :
Y:\002_WorkSpace\PycharmProjects\pythonProject\venv\Scripts\python.exe Y:/002_WorkSpace/PycharmProjects/HelloPython/hello.py 23/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/WindowsProblems Setting 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 applicable 3.4.1 Process finished with exit code 0- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |