PySpark+Prophet
目錄
一.背景
二.制作Prophet離線環境
2.1 下載Miniconda3 linux安裝包并安裝
2.2 安裝python3.7(Prophet不支持3.8)虛擬環境及Prophet
2.2.1 問題一:使用清華源安裝失敗
2.3 制作壓縮虛擬環境fbprophet.tar.gz包
2.4 使用fbprophet離線包
三.PySpark中使用指定的python版本
3.1 方法一:所有節點部署離線環境
3.2 方法二:僅在driver所在節點部署離線環境
四.PySpark開發環境準備
4.1 下載 spark版本包
一.背景
Prophet在單機python環境下運行比較慢,python對數據的處理性能不高。
另一方面,生產環境沒有連接外網,且每臺服務器都去外網下載相關的安裝包也比較費時。
再者,生產環境中僅有python2.7.5,對Prophet的依賴不友好。
?
二.制作Prophet離線環境
制作離線環境時,需要在能連上外網的環境制作,并且制作機的操作系統應該和使用離線包的操作系統一致。
2.1 下載Miniconda3 linux安裝包并安裝
?
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh?
下載完成后運行安裝腳本,安裝Miniconda,按照提示操作:閱讀協議,指定安裝目錄,以及是否初始化conda。
2.2 安裝python3.7(Prophet不支持3.8)虛擬環境及Prophet
?
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes conda config --show conda create --name fbprophet python=3.7 conda activate fbprophet # 退出當前環境 conda deactivate #刪除已有環境 conda remove --name python37 --all conda install -c conda-forge fbprophet?
2.2.1 問題一:使用清華源安裝失敗
報錯如下:
?
json.decoder.JSONDecodeError: Unterminated string starting at:?
原因是add channels操作導致的
解決方案,刪除該源
?
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/?
2.3 制作壓縮虛擬環境fbprophet.tar.gz包
Prophet安裝包比較大,整個環境大概1G,壓縮成gzip包后大概300MB左右。
?
tar -zcvf fbprophet.tar.gz fbprophet/ (fbprophet) [root@dev envs]# ls fbprophet fbprophet.tar.gz?
2.4 使用fbprophet離線包
解壓fbprophet.tar.gz包到/opt/software目錄下,使用全路徑運行detect.py(prophet應用程序)。
?
tar -zxvf fbprophet.tar.gz[root@dev software]$ ls |grep fb fbprophet fbprophet.tar.gz#測試是否可用 /opt/software/fbprophet/bin/python detect.py?
?
三.PySpark中使用指定的python版本
3.1 方法一:所有節點部署離線環境
將壓縮包解壓到所有節點的/opt/software/目錄下。然后通過spark.pyspark.python和spark.pyspark.driver.python兩個配置來指定executor和driver對應的python命令。
可以修改{spark_home}/spark-defaults.conf文件(有概率不生效)或者通過命令行方式傳入。
?
pyspark --conf spark.pyspark.python=/opt/software/fbprophet/bin/python --conf spark.pyspark.driver.python=/opt/software/fbprophet/bin/python?
3.2 方法二:僅在driver所在節點部署離線環境
將fbprophet.tar.gz包上傳到hdfs。
?
hadoop fs -put fbprophet.tar.gz /user/work/?
指定配置如下(#代表軟連接)
?
pyspark --conf spark.pyspark.python=fbprophet/bin/python --conf spark.pyspark.driver.python=/opt/software/fbprophet/bin/python --conf spark.yarn.dist.archives=/user/work/fbprophet.tar.gz#fbprophet?
?
四.PySpark開發環境準備
參考文章:
https://blog.csdn.net/qq_36330643/article/details/78429109
4.1 下載 spark版本包
在下面地址下載對應的版本包
?
https://archive.apache.org/dist/spark/spark-2.3.2/spark-2.3.2-bin-without-hadoop.tgz?
?
?
?
?
總結
以上是生活随笔為你收集整理的PySpark+Prophet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 标准功能模块组件 -- 内部联络单组件,
- 下一篇: 金山词霸2009牛津版(Sp1破解补丁)