目录

一.背景

二.制作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相关推荐

  1. pyspark汇总小结

    20220402 Spark报Total size of serialized results of 12189 tasks is bigger than spark.driver.maxResult ...

  2. spark- PySparkSQL之PySpark解析Json集合数据

    PySparkSQL之PySpark解析Json集合数据 数据样本 12341234123412342|asefr-3423|[{"name":"spark", ...

  3. jupyter笔记本_如何为Jupyter笔记本电脑设置PySpark

    jupyter笔记本 by Tirthajyoti Sarkar 由Tirthajyoti Sarkar 如何为Jupyter笔记本电脑设置PySpark (How to set up PySpark ...

  4. 手把手教你实现PySpark机器学习项目——回归算法

    作者 | hecongqing 来源 | AI算法之心(ID:AIHeartForYou) [导读]PySpark作为工业界常用于处理大数据以及分布式计算的工具,特别是在算法建模时起到了非常大的作用. ...

  5. pyspark常用API

    union 和unionall union 纵向合并dataframe In this Spark article, you will learn how to union two or more d ...

  6. 利用PySpark进行迁移学习的多类图像分类

    在本文中,我们将演示计算机视觉问题,它具有结合两种最先进技术的能力:深度学习和Apache Spark.我们将利用深度学习管道的强大功能来解决多类图像分类问题. PySpark 是 Spark 为 P ...

  7. pyspark dataframe数据连接(join)、转化为pandas dataframe、基于多个字段删除冗余数据

    pyspark dataframe数据连接(join).转化为pandas dataframe.基于多个字段删除冗余数据 目录 pyspark dataframe数据连接(join).转化为panda ...

  8. 基于关联规则(Variational Autoencoders)疾病预测系统实战:(pyspark FPGrowth实现频繁项集挖掘、最后给出预测模型topK准确率和召回率)

    基于关联规则(Variational Autoencoders)疾病预测系统实战:(pyspark FPGrowth实现频繁项集挖掘.最后给出预测模型topK准确率和召回率) 目录

  9. 时间序列分析工具:Prophet、statsmodels、DeepAR、Xgboost类模型、RNN类模型

    时间序列分析工具:Prophet.statsmodels.DeepAR.Xgboost类模型.RNN类模型 目录 时间序列分析工具:Prophet.statsmodels.DeepAR.Xgboost ...

  10. pyspark sparksession_pyspark中的行列互转

    行列互转在数据分析与挖掘中是经常遇到的问题,这篇文章总结了pyspark中行列互转的方法,首先我们先创建测试数据集. from 列转行 pivot 实现 透视操作简单直接,逻辑如下 按照不需要转换的字 ...

最新文章

  1. R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串
  2. ExecuteScalar ExecuteReader ExecuteNonQuery 区别
  3. 【华科考研机试题】阶乘
  4. linux源码编译emqttd,emqtt编译及简单测试记录
  5. 继续努力奋斗,生活会更美好
  6. Azure系列1.1.2 —— 用于 IntelliJ 的 Azure 工具包的登录说明
  7. Python学习总结之四 -- 这就是Python的字典
  8. Windows下jupyter notebook 修改打开的浏览器为chrome
  9. linux system查看内存占用,Linux查看系统内存占用
  10. pandas数据导出Execl
  11. python开发的代码如何加密_python 代码加密
  12. Windows 7 安装VS2008 SP1 失败
  13. JBOD(jbod和raid0)
  14. 2022版Maven教程 - 第六章 单一架构案例
  15. Shiro 授权(权限)
  16. 粗浅地浏览一下,待明日来嘞,认真去刷!
  17. MT4白标升级主标的方法
  18. python字符串知识点_python字符串的相关知识点
  19. 图扑软件正式加入腾讯智维生态发展计划,智能 IDC 开启数字经济新征程
  20. APP移动应用安全加固是如何进行的?

热门文章

  1. u盘中的android文件夹图标不显示,怎么解决u盘图标变成文件夹,教您解决方法
  2. Python去除文件名后缀
  3. win8系统中chm文件打不开怎么办
  4. 洛谷P3533 [POI2012]RAN-Rendezvous
  5. 能耗监测管理系统作用
  6. 【自然语言处理】【实体匹配】PromptEM:用于低资源广义实体匹配的Prompt-tuning
  7. Adobe CS2提供免费序列号
  8. 答题器真的什么问题都能答出来吗?
  9. 《历史是个什么玩意儿》袁腾飞最新语录
  10. WSUS 服务器 更新补丁 命令