當前位置: 妍妍網 > 碼農

PySpark題外話(三):PySpark手把手環境搭建

2024-02-22碼農

戳藍字 Python都知道 關註 我哦!

前言

哈嘍大家好,我是了不起。

今天手把手的帶大家進行PySpark環境的安裝及異常問題處理。

Anaconda簡介及安裝

Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。因為包含了大量的科學包,Anaconda 的下載檔比較大(約 594 MB)。

你可能已經安裝了 Python,那麽為什麽還需要 Anaconda?有以下3個原因:

  • Anaconda 附帶了一大批常用數據科學包,它附帶了 conda、Python 和 180 多個科學包及其依賴項。因此你可以立即開始處理數據。

  • 在數據分析中,你會用到很多第三方的包,而conda(包管理器)可以很好的幫助你在電腦上安裝和管理這些包,包括安裝、解除安裝和更新包。

  • 針對不同的計畫做環境管理,比如不同的pandas版本,不可能同時安裝兩個 Numpy 版本,你要做的應該是,為每個 Numpy 版本建立一個環境,然後計畫的對應環境中工作。這時候conda就可以幫你做到

  • Anaconda 可用於多個平台( Windows、Mac OS X 和 Linux)。可以在Anaconda官網上找到安裝程式和安裝說明。根據你的作業系統是32位元還是64位元選擇對應的版本下載。

    這裏對安裝的過程就不過多贅述。Python的開發工具Pycharm也需要安裝完成。

    環境搭建

    首先,需要使用conda建立虛擬環境

    conda create --name spark2 python=3.6.2
    conda info -e
    conda activate spark2

    需要修改使用者目錄下的 .condarc 檔,Windows 使用者無法直接建立名為 .condarc 的檔,可先執行

    conda config --set show_channel_urls yes

    生成該檔之後再修改。

    修改.condarc 去掉default ,讓下載走清華加速channel

    #添加映像源
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

    切換環境

    conda activate spark2

    安裝pyspark

    conda install pyspark=2.3.0

    問題處理

    透過以上的方式,我們已經搭建好了一個PySpark的執行環境,但當我們使用程式碼真正連線Hadoop集群是,發現系統會報「Could not locate executable null\bin\winutils.exe in the Hadoop binaries」的錯誤,這其實是因為本地環境沒有配置hadoop包引起的。

    這時我們需要一個hadoop3.1.1的zip包,官網如果下載速度可以從網上公共資源的地方下載一個。

    解壓縮到本次磁盤後,需要配置環境變量

    HADOOP_HOME 包全路徑
    PATH 添加 %HADOOP_HOME%\bin

    還有個很常見的問題是「Unable to locate hive jars to connect to metastore. Please set spark.sql.hive.metastore.jars.」,這是猶豫當前原生的jdk版本與hadoop版本不一致引起的,已當前的hadoop版本需要本地使用jdk1.8進行連線。

    總結

    今天給大家帶來的是PySpark的環境搭建與問題處理,完成後就可以愉快的進行大數據開發了。

    如果您喜歡我的文章,可以持續關註,後續文章更精彩,敬請期待。

    結尾提一下

    大家知道,我們在 ChatGPT 出來的第一時間就保持關註,然後整個公司全部投入到 AI+變現的領域。

    可以說,去年我們做的事情,都是和AI+相關,所以當 Sora 出現後,我們也第一時間保持了關註。

    第一時間整理了市面上最全的 Sora 學習資料,覆蓋介紹、未來變現玩法、各路觀點、技術解讀等等,還建立了交流群。

    大家如果想領取這份資料,可以加我的微信回復: 111 ,我會免費將整理的這份資料大全分享給大家。

    需要提醒大家的是,Sora 目前還沒有完全開放,任何市面上付費的一些課程,都請大家謹慎選擇。

    可以確定的是:未來10-20年,一定是 AI 的大風口、大時代,如果錯過了公眾號、錯過了抖音、錯過了小紅書。

    請一定不要錯過 AI +。

    在這個史詩級別的超級大風口下,普通人只需要抓住其中的一個小點,即可實作人生自由、財富自由。

    希望,大家都能夠抓住這一波。

    PS Python都知道技術交流群(技術交流、摸魚、白嫖課程為主)又不定時開放了,感興趣的朋友,可以在下方公號內回復: 666 ,即可進入。

    老規矩 ,道友們還記得麽, 右下角的 「在看」 點一下 如果感覺文章內容不錯的話,記得分享朋友圈讓更多的人知道!