PySpark 相关基础知识
SparkBase
1. spark的基本介紹
1.1 spark的基本介紹
- MapReduce: 分布式計算引擎
也正因為MR存在這樣的一些弊端 在一些場景中, 希望能夠有一款執行效率更加高效, 能夠更好支持迭代計算, 同時還能夠處理大規模數據的一款新的軟件, 而spark就是在這樣的背景下產生了
Apache spark 是一款用于處理大規模數據的分布式計算引擎, 基于內存計算, 整個spark的核心數據結構: RDD
RDD: 彈性的分布式數據集
Spark 最早期是來源于 加州大學伯克萊分析一幫博士發布的論文,而產生的, 后期貢獻給了apache 稱為apache的頂級項目: http://spark.apache.org
Spark采用Scala語言編寫的
為什么Spark的執行速度快:
原因一: spark 提供了一個全新的數據結構: RDD通過這個數據結構, 讓分布式執行引擎能夠在內存中進行計算, 同時能夠更好的進行迭代計算操作對于MR來說, 主要是基于磁盤來計算, 而且迭代計算的時候, 需要將多個MR程序串聯, 執行效率低原因二: Spark是基于線程運行的, MR是基于進程運行的線程的啟動和銷毀的速度, 要遠遠高于進程的啟動和銷毀1.2 spark的發展史
關注:
spark是一個分布式計算引擎, pyspark是一個python的庫 專門用于操作spark的庫1.3 spark的特點
- 1- 運行速度快
- 2- 易用性
- 3- 通用型強
- 4- 隨處運行:
2. spark環境安裝
2.1 local模式搭建
local 模式主要是用于本地代碼測試操作
本質上就是一個單進程程序, 在一個進程中運行多個線程
類似于pandas , 都是一個單進程程序, 無法處理大規模數據, 只需要處理小規模數據
安裝操作, 可以直接參考課件中 部署文檔
注意事項:
- 上傳安裝包:
-
注意: 如果使用 瀏覽器訪問 node1:4040 無法訪問的時候, 嘗試去看一下windows本地hosts文件是否有以下配置:
hosts文件所在位置: C:\Windows\System32\drivers\etc
退出客戶端, 禁止使用 ctrl + z (本質掛載后臺)
嘗試使用以下方式退出: ctrl + cctrl + d:quitquit:exitexit2.2 PySpark庫安裝
安裝pyspark ,其實就是在python上安裝pyspark的庫, 要求首先必須先有python環境
發現在虛擬機上, python環境為 2.7.5 , 但是實際是3.8的版本, 需要先安裝 python3環境安裝 python環境和pyspark環境, 可以直接參考部署文檔即可
擴展: anaconda的常用命令
安裝庫: conda install 包名 pip install 包名 卸載庫: conda uninstall 包名 pip uninstall 包名設置anaconda下載的庫的鏡像地址: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes如何使用anaconda構建虛擬環境: -- 查看當前有那些虛擬環境(沙箱環境) conda env list -- 創建一個新的虛擬環境: conda create 虛擬環境名稱 python=python版本號 #創建python3.8.8環境-- 激活當前環境 source activate 虛擬環境名稱 或者 conda activate 虛擬環境名稱-- 退出當前環境 deactivate 虛擬環境名稱 #退出環境 或者 conda deactivate如何將spark程序, 提交給spark local模式進行執行運行呢?
使用命令:spark-submit簡單使用cd /export/server/spark/bin./spark-submit --master local[*] 指定python的spark程序文件 [args參數]案例演示:./spark-submit --master local[2] /export/server/spark/examples/src/main/python/pi.py 102.3 spark集群模式架構
3. 基于pycharm完成pySpark入門案例
3.1 pycharm連接遠端環境
背景說明:
一般在企業中, 會存在兩套線上環境, 一套環境是用于開發(測試)環境, 一套環境是用于生產環境, 首先一般都是先在開發測試環境上進行編寫代碼, 并且在此環境上進行測試, 當整個項目全部開發完成后, 需要將其上傳到生產環境, 面向用于使用如果說還是按照之前的本地模式開發方案, 每個人的環境有可能都不一致, 導致整個團隊無法統一一套開發環境進行使用, 從而導致后續在進行測試 上線的時候, 出現各種各樣環境問題pycharm提供了一些解決方案: 遠程連接方案, 允許所有的程序員都去連接遠端的測試環境的, 確保大家的環境都是統一, 避免各種環境問題發生, 而且由于連接的遠程環境, 所有在pycharm編寫代碼, 會自動上傳到遠端環境中, 在執行代碼的時候, 相當于是直接在遠端環境上進行執行操作操作實現: 本次這里配置遠端環境, 指的連接虛擬機中虛擬環境, 可以配置為 base環境, 也可以配置為 pyspark_env虛擬環境, 但是建議配置為 base環境, 因為base環境自帶python包更全面一些
創建項目后, 設置自動上傳操作
校驗是否有pyspark
ok 后, 就可以在項目上創建子項目進行干活了: 最終項目效果圖
最后, 就可以在 main中編寫今日代碼了, 比如WordCount代碼即可
擴展: 關于pycharm 專業版 高級功能
- 1- 直接連接遠端虛擬機, 進行文件上傳, 下載 查看等等操作
- 2- 可以模擬shell控制臺:
- 3- 模擬datagrip操作:
3.2 WordCount代碼實現_local
3.2.2 編寫代碼實現
可能存在異常:
3.3 (擴展)部署windows開發環境(不需要做)
-
1- 第一步: 需要安裝Python 環境 , 建議使用anaconda 來安裝即可
-
2- 第二步: 在Python安裝pySpark
- 3- 第三步: 配置 hadoop的環境
配置后, 一定一直點確定退出, 否則就白配置了…
- 4-第四步: 配置spark本地環境
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-b4UnVo3R-1649749704191)(day01_pySparkBase.assets/image-20211011093739472.png)]
首先, 需要將 spark-3.1.2... 放置到一個沒有中文, 沒有空格的目錄下最后, 將這個 spark-3.1.2... 配置到環境變量中:配置后, 一定一直點確定退出, 否則就白配置了…
- 5-配置pySpark環境
配置后, 一定一直點確定退出, 否則就白配置了…
- 6- 配置 jdk的環境:
?
?
總結
以上是生活随笔為你收集整理的PySpark 相关基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qsort库函数详解
- 下一篇: 一键自动整理文件!简单好用的Python