真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

怎么讓CDSW的PySpark自動適配Python版本

今天就跟大家聊聊有關怎么讓CDSW的PySpark自動適配Python版本,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到鎮(zhèn)雄網站設計與鎮(zhèn)雄網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網站、成都網站制作、成都外貿網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣、域名與空間、網絡空間、企業(yè)郵箱。業(yè)務覆蓋鎮(zhèn)雄地區(qū)。


   

在CDH集群中Spark2的Python環(huán)境默認為Python2,CDSW在啟動Session時可以選擇Engine Kernel版本Python2或者Python3。當選擇Python3啟動Session時,開發(fā)PySpark作業(yè)在運行時會報“Python in worker has different version 2.7 than that in driver 3.6, PySpark cannot run with different minor versions.Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set”,為解決Python版本適配的問題,需要進行如下調整來使我們的應用自動的適配Python版本。

集群部署多個Python版本    

   

基于CDH提供的Anaconda Parcels包來安裝Python,通過在CDH集群同時安裝兩個Python版本的Parcel包來解決多個版本的問題。如果需要在Spark中默認的支持Python2或者Python3版本則激活相應版本的Parcel即可,在我的集群默認激活的為Python2版本的Parcel包,在接下來的操作主要介紹Python3的環(huán)境準備。

怎么讓CDSW的PySpark自動適配Python版本

Spark2默認使用的Python2環(huán)境變量

怎么讓CDSW的PySpark自動適配Python版本

1.Python2版本的Anaconda下載地址如下:

https://repo.anaconda.com/pkgs/misc/parcels/Anaconda-2019.07-el7.parcel
https://repo.anaconda.com/pkgs/misc/parcels/Anaconda-2019.07-el7.parcel.sha
https://repo.anaconda.com/pkgs/misc/parcels/manifest.json

2.Python3版本的Anaconda下載地址如下:

https://repo.anaconda.com/pkgs/misc/parcels/archive/Anaconda-5.1.0.1-el7.parcel
https://repo.anaconda.com/pkgs/misc/parcels/archive/Anaconda-5.1.0.1-el7.parcel.sha
https://repo.anaconda.com/pkgs/misc/parcels/archive/manifest.json

3.將下載好的parcel包部署到集群的私有HTTP服務上

怎么讓CDSW的PySpark自動適配Python版本

4.使用管理員賬號登錄Cloudera Manager進入Parcel包管理界面配置Anaconda地址

怎么讓CDSW的PySpark自動適配Python版本

5.完成Parcel地址配置后完成對應版本Parcel包的下載分配即可

怎么讓CDSW的PySpark自動適配Python版本

上述操作不需要激活,在不激活的情況下PySpark默認使用的Python2環(huán)境,如果激活則使用的是Python3環(huán)境。

6.確認集群所有節(jié)點已存在Python2和Python3的環(huán)境

怎么讓CDSW的PySpark自動適配Python版本

CDSW自動為Spark適配Python版本    

   

為了能讓我們的Pyspark程序代碼自動適配到不同版本的Python,需要在我們的Spark代碼初始化之前進行環(huán)境的初始化,在代碼運行前增加如下代碼實現適配不同版本的Python。

import os
py_environ=os.environ['CONDA_DEFAULT_ENV']
if py_environ=='python2.7':
  os.environ['PYSPARK_PYTHON'] = '/opt/cloudera/parcels/Anaconda/bin/python'
else:
  os.environ['PYSPARK_PYTHON'] = '/opt/cloudera/parcels/Anaconda-5.1.0.1/bin/python'

怎么讓CDSW的PySpark自動適配Python版本

驗證程序自動適配Python版本    

   

1.選擇Python2環(huán)境啟動Session

怎么讓CDSW的PySpark自動適配Python版本

2.運行PySpark作業(yè)測試正常運行

怎么讓CDSW的PySpark自動適配Python版本

3.選擇Python3環(huán)境啟動Session

怎么讓CDSW的PySpark自動適配Python版本

4.運行PySpark作業(yè)測試正常運行

怎么讓CDSW的PySpark自動適配Python版本

總結    

在集群中同時部署多個版本的Python,通過在Pyspark代碼中使用Python命令動態(tài)的指定PYSPARK_PYTHON為我們需要的Python環(huán)境即可。

看完上述內容,你們對怎么讓CDSW的PySpark自動適配Python版本有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝大家的支持。


網頁標題:怎么讓CDSW的PySpark自動適配Python版本
分享地址:http://weahome.cn/article/jdcsio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部