一、安裝 PySpark
1、使用 pip 安裝 PySpark
執(zhí)行 Windows + R , 運行 cmd 命令行提示符 ,
在命令行提示符終端中 , 執(zhí)行
pip install pyspark
命令 , 安裝 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, '遠程主機強迫關(guān)閉了一個現(xiàn)有的連接。', 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>
2、國內(nèi)代理鏡像
如果使用 官方的源 下載安裝 PySpark 的速度太慢 ,
可以使用 國內(nèi)的 鏡像網(wǎng)站 https://pypi.tuna.tsinghua.edu.cn/simple/ ,
這是清華大學(xué)提供的源 ;
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark
3、PyCharm 中安裝 PySpark
也可以參考 【Python】pyecharts 模塊 ② ( 命令行安裝 pyecharts 模塊 | PyCharm 安裝 pyecharts 模塊 ) 博客 , 在 PyCharm 中 , 安裝 PySpark ;
嘗試導(dǎo)入 pyspack 模塊中的類 , 如果報錯 , 使用報錯修復(fù)選項 , PyCharm 會自動安裝 PySpark ;
二、PySpark 數(shù)據(jù)處理步驟
PySpark 編程時 , 先要構(gòu)建一個 PySpark 執(zhí)行環(huán)境入口對象 , 然后開始執(zhí)行數(shù)據(jù)處理操作 ;
數(shù)據(jù)處理的步驟如下 :
首先 , 要進行數(shù)據(jù)輸入 , 需要讀取要處理的原始數(shù)據(jù) , 一般通過 SparkContext 執(zhí)行環(huán)境入口對象 執(zhí)行 數(shù)據(jù)讀取操作 , 讀取后得到 RDD 類實例對象 ;
然后 , 進行 數(shù)據(jù)處理計算 , 對 RDD 類實例對象 成員方法進行各種計算處理 ;
最后 , 輸出 處理后的結(jié)果 , RDD 對象處理完畢后 , 寫出文件 , 或者存儲到內(nèi)存中 ;
數(shù)據(jù)的初始形態(tài) , 一般是 JSON 文件 , 文本文件 , 數(shù)據(jù)庫文件 ;
通過 SparkContext 讀取 原始文件 到 RDD 中 , 進行數(shù)據(jù)處理 ;
數(shù)據(jù)處理完畢后 , 存儲到 內(nèi)存 / 磁盤 / 數(shù)據(jù)庫 中 ;
三、構(gòu)建 PySpark 執(zhí)行環(huán)境入口對象
如果想要使用 PySpark 進行數(shù)據(jù)處理 , 必須構(gòu)建一個 PySpark 執(zhí)行環(huán)境入口對象 ;
PySpark 執(zhí)行環(huán)境 入口對象 是 SparkContext 類實例對象 ;
首先 , 導(dǎo)入相關(guān)包 ;
# 導(dǎo)入 PySpark 相關(guān)包
from pyspark import SparkConf, SparkContext
然后 , 創(chuàng)建 SparkConf 實例對象 , 該對象用于配置 Spark 任務(wù) , 各種配置可以在鏈?zhǔn)秸{(diào)用中設(shè)置 ;
- 調(diào)用 SparkConf#setMaster 函數(shù) , 可以設(shè)置運行模式 , 單機模式 / 集群模式 ;
- 調(diào)用 SparkConf#setAppName函數(shù) , 可以設(shè)置 Spark 程序 名字 ;
# 創(chuàng)建 SparkConf 實例對象 , 該對象用于配置 Spark 任務(wù)
# setMaster("local[*]") 表示在單機模式下 本機運行
# setAppName("hello_spark") 是給 Spark 程序起一個名字
sparkConf = SparkConf()\
.setMaster("local[*]")\
.setAppName("hello_spark")
再后 , 創(chuàng)建 PySpark 執(zhí)行環(huán)境 入口對象 ;
# 創(chuàng)建 PySpark 執(zhí)行環(huán)境 入口對象
sparkContext = SparkContext(conf=sparkConf)
最后 , 執(zhí)行完 數(shù)據(jù)處理 任務(wù)后 , 調(diào)用 SparkContext#stop 方法 , 停止 Spark 程序 ;
# 停止 PySpark 程序
sparkContext.stop()
四、代碼示例
代碼示例 :
"""
PySpark 數(shù)據(jù)處理
"""
# 導(dǎo)入 PySpark 相關(guān)包
from pyspark import SparkConf, SparkContext
# 創(chuàng)建 SparkConf 實例對象 , 該對象用于配置 Spark 任務(wù)
# setMaster("local[*]") 表示在單機模式下 本機運行
# setAppName("hello_spark") 是給 Spark 程序起一個名字
sparkConf = SparkConf()\
.setMaster("local[*]")\
.setAppName("hello_spark")
# 創(chuàng)建 PySpark 執(zhí)行環(huán)境 入口對象
sparkContext = SparkContext(conf=sparkConf)
# 打印 PySpark 版本號
print(sparkContext.version)
# 停止 PySpark 程序
sparkContext.stop()
執(zhí)行結(jié)果 :文章來源:http://www.zghlxwxcb.cn/news/detail-735376.html
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
文章來源地址http://www.zghlxwxcb.cn/news/detail-735376.html
到了這里,關(guān)于【Python】PySpark 數(shù)據(jù)處理 ② ( 安裝 PySpark | PySpark 數(shù)據(jù)處理步驟 | 構(gòu)建 PySpark 執(zhí)行環(huán)境入口對象 )的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!