anaconda promopt怎么转换文件夹_模型怎么部署到Spark?

对于数据量大且依赖字段多的特征类模型,如各种画像模型、行为模型,一般都是批量更新的,数据存在大数据库表中,决策引擎不好支持,需要自己进行开发打分。

一种简单粗暴的方法是把模型特征从数据表(如hive)拉到磁盘上,然后读到内存来打分,再把结果导入数据表,不过这种单机版操作耗内存且容易出错。

在这篇文章,小编就来分享下怎么把建好的模型部署到大数据平台spark上打分。

目前主流都是先用python建模,再导出模型用于打分,本文针对的就是这种情况,不考虑直接用spark训练模型的情况。

ready go.

step1. 模型OK了,保存模型到pkl文件

bacfafd8b0645da806324b0af0d1c00e.png

step2. 在命令行使用anaconda创建一个新环境py37,名字可以任取,注意指定python的版本,这里是python3的环境。没有anaconda的请先安装。

53f2904ea56c6bb7ca10815fe94e138f.png

deaea28d8feb8470f7dd313ee719a0cf.png

step3. 看下新环境放在哪里了

c5952e687afa461601cbee20c51a8a45.png

step4. 切换到新环境py37,并看下里面有哪些包

8835c9c3c37158c302e6dc690f342ca8.png

step5. 在新环境下,先升级pip,再安装各种依赖包

fc15afdf3bc0a91f2d233e7ca3a282e9.png

step6. 确保依赖包都OK了,把环境py37打包,放到/tmp/py37.zip,并把/tmp/py37.zip 上传到Hadoop hdfs。

600d36fe8b9d7fae87f7b6927aaf6588.png

5de597c73178467a7268f683f0083604.png

step7. 建立如下目录结构,其中model文件夹放模型打分python代码,pkl存放模型pkl文件。

05cc6ce68a1e1809b87f2daf877b7b42.png

main.py用于加载本地模型打分代码环境,并选择运行哪个模型,文件内容如下:

5a822b75526bb25e55d8f65fcb0fe7fb.png

打分文件prea2_v2.py内容示例(主要逻辑):

b00e9f78c1ba40cdd9f4c7cacf7a4fa0.png

step8.  写一个shell脚本delopy.sh 用来打包python打分代码,内容如下:

e07bf031dfbf553ce75f8af35518d5c3.png

step9. 再写一个shell脚本run_pyspark.sh用来启动pyspark,执行我们的python 打分代码, 关键要注意红框的内容,必须要对应上,否则可能python环境在集群上启动不成功:

adb2d4047cc60d37e4b205ee241b6d96.png

step10. 使用crontab设置个定时任务,每天定时跑脚本run_pyspark.sh,如果模型打分的python文件有更新,只需要执行step8.中的deploy.sh更新下源码就OK了,其他的可以保持不变。

7a62cc315b0f5bb87a82ca48a2518533.png

这个操作看起来挺简单的,网上也有类似的教程,小编试过很多都有这样那样的问题,不是集群版本不一致就是找不到环境。本文的方法小编花了挺多时间摸索,亲测是有效的。当然,用pyspark调用pkl对大数据打分也有些要注意的点,后面文章再写吧~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值