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相关推荐
- pyspark汇总小结
20220402 Spark报Total size of serialized results of 12189 tasks is bigger than spark.driver.maxResult ...
- spark- PySparkSQL之PySpark解析Json集合数据
PySparkSQL之PySpark解析Json集合数据 数据样本 12341234123412342|asefr-3423|[{"name":"spark", ...
- jupyter笔记本_如何为Jupyter笔记本电脑设置PySpark
jupyter笔记本 by Tirthajyoti Sarkar 由Tirthajyoti Sarkar 如何为Jupyter笔记本电脑设置PySpark (How to set up PySpark ...
- 手把手教你实现PySpark机器学习项目——回归算法
作者 | hecongqing 来源 | AI算法之心(ID:AIHeartForYou) [导读]PySpark作为工业界常用于处理大数据以及分布式计算的工具,特别是在算法建模时起到了非常大的作用. ...
- pyspark常用API
union 和unionall union 纵向合并dataframe In this Spark article, you will learn how to union two or more d ...
- 利用PySpark进行迁移学习的多类图像分类
在本文中,我们将演示计算机视觉问题,它具有结合两种最先进技术的能力:深度学习和Apache Spark.我们将利用深度学习管道的强大功能来解决多类图像分类问题. PySpark 是 Spark 为 P ...
- pyspark dataframe数据连接(join)、转化为pandas dataframe、基于多个字段删除冗余数据
pyspark dataframe数据连接(join).转化为pandas dataframe.基于多个字段删除冗余数据 目录 pyspark dataframe数据连接(join).转化为panda ...
- 基于关联规则(Variational Autoencoders)疾病预测系统实战:(pyspark FPGrowth实现频繁项集挖掘、最后给出预测模型topK准确率和召回率)
基于关联规则(Variational Autoencoders)疾病预测系统实战:(pyspark FPGrowth实现频繁项集挖掘.最后给出预测模型topK准确率和召回率) 目录
- 时间序列分析工具:Prophet、statsmodels、DeepAR、Xgboost类模型、RNN类模型
时间序列分析工具:Prophet.statsmodels.DeepAR.Xgboost类模型.RNN类模型 目录 时间序列分析工具:Prophet.statsmodels.DeepAR.Xgboost ...
- pyspark sparksession_pyspark中的行列互转
行列互转在数据分析与挖掘中是经常遇到的问题,这篇文章总结了pyspark中行列互转的方法,首先我们先创建测试数据集. from 列转行 pivot 实现 透视操作简单直接,逻辑如下 按照不需要转换的字 ...
最新文章
- R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串
- ExecuteScalar ExecuteReader ExecuteNonQuery 区别
- 【华科考研机试题】阶乘
- linux源码编译emqttd,emqtt编译及简单测试记录
- 继续努力奋斗,生活会更美好
- Azure系列1.1.2 —— 用于 IntelliJ 的 Azure 工具包的登录说明
- Python学习总结之四 -- 这就是Python的字典
- Windows下jupyter notebook 修改打开的浏览器为chrome
- linux system查看内存占用,Linux查看系统内存占用
- pandas数据导出Execl
- python开发的代码如何加密_python 代码加密
- Windows 7 安装VS2008 SP1 失败
- JBOD(jbod和raid0)
- 2022版Maven教程 - 第六章 单一架构案例
- Shiro 授权(权限)
- 粗浅地浏览一下,待明日来嘞,认真去刷!
- MT4白标升级主标的方法
- python字符串知识点_python字符串的相关知识点
- 图扑软件正式加入腾讯智维生态发展计划,智能 IDC 开启数字经济新征程
- APP移动应用安全加固是如何进行的?