程序員做網(wǎng)站如何賺錢百度搜索指數(shù)
目錄
- 1 打包需要的python包
- 2 修改spark配置文件
1 打包需要的python包
首先我們用conda包管理工具對我們需要的python包進行虛擬環(huán)境創(chuàng)建:
conda create -n python37 --copy -y -q python=3.7 --prefix /your/workspace/path scikit-learn tensorflow
下面是對每個參數(shù)的解釋(😁這里讓chatgpt給出的解釋,自己就不手打了😊)
conda create: 這是創(chuàng)建Conda環(huán)境的命令。
-n python37: -n參數(shù)后跟著你想要創(chuàng)建的環(huán)境的名稱,這里是python37。你可以將環(huán)境名稱替換為你喜歡的名稱。
–copy: 這個選項指示Conda在創(chuàng)建環(huán)境時復制現(xiàn)有系統(tǒng)Python中的庫。這有助于確保環(huán)境中包含與系統(tǒng)Python相同的庫,以避免潛在的問題。
-y: 這個選項用于自動確認環(huán)境的創(chuàng)建,而不需要手動確認。
-q: 這個選項用于減少命令的輸出,即以靜默模式運行。
python=3.7: 這是要在環(huán)境中安裝的Python版本的規(guī)范。在這個示例中,它指定要安裝Python 3.7。
–prefix: 環(huán)境的安裝位置
scikit-learn: 這是一個Python機器學習庫,它會在新環(huán)境中安裝。
tensorflow: 這是深度學習框架TensorFlow,也會在新環(huán)境中安裝。
這個命令的目的是創(chuàng)建一個名為python37的Conda環(huán)境,將其中的Python版本設置為3.7,同時在環(huán)境中安裝了scikit-learn和tensorflow軟件包(后面可以放更多我們想要使用的python包),以便在該環(huán)境中進行機器學習和深度學習的開發(fā)和實驗。環(huán)境名稱、Python版本和要安裝的軟件包可以根據(jù)你的需求進行修改。
然后我們將生成的python環(huán)境進行壓縮打包:
zip -r python37.zip /your/workspach/path/python37
2 修改spark配置文件
--archives /your/path/python37.zip#python37
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python37/python37/bin/python3.7 \
–archives /your/path/python37.zip#python37:
–archives參數(shù)用于在Spark應用程序運行期間將本地壓縮檔案文件解壓到Y(jié)ARN集群節(jié)點上。
/your/path/python37.zip 是包含Python環(huán)境的壓縮文件的本地文件路徑。
#python37 是為檔案文件定義的別名,這將在Spark應用程序中使用。
這個參數(shù)的目的是將名為python37.zip的壓縮文件解壓到Y(jié)ARN集群節(jié)點,并將其路徑設置為python37,以供Spark應用程序使用。這通常用于指定特定版本的Python環(huán)境,以便在Spark任務中使用。
–conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./python37/python37/bin/python3.7:
–conf參數(shù)用于設置Spark配置屬性。
spark.yarn.appMasterEnv.PYSPARK_PYTHON 是一個Spark配置屬性,它指定了YARN應用程序的主節(jié)點(ApplicationMaster)使用的Python解釋器。
./python37/python37/bin/python3.7 是實際Python解釋器的路徑,它將在YARN應用程序的主節(jié)點上執(zhí)行。
這個參數(shù)的目的是告訴Spark應用程序在YARN的主節(jié)點上使用特定的Python解釋器,即./python37/python37/bin/python3.7。這通常用于確保Spark應用程序使用正確的Python版本和環(huán)境來運行任務。
😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁
再宣傳下這個方法是我們在用pyspark使用外部包的絕佳好方案