问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在mapreduce上使用第三方的Python库

发布网友 发布时间:2022-04-30 15:26

我来回答

2个回答

热心网友 时间:2022-04-18 05:47

需要使用第三方库如bs4,numpy等时,需要用到虚拟环境virtualenv
virtualenv的使用
安装
pip install virtualenv
新建虚拟环境
virtualenv myvp
使得虚拟环境的路径为相对路径
virtualenv --relocatable myvp
激活虚拟环境
source myvp/bin/activate
如果想退出,可以使用下面的命令
deactivate
激活后直接安装各种需要的包
pip install XXX
压缩环境包
tar -czf myvp.tar.gz myvp
在maprece上使用
在上面的脚本中可以看到使用了-catchArchive,但是路径是HDFS的路径,因此需要提前将本地的myvp.tai.gz包上传到HDFS上。
同时#后面的myvp是文件的文件夹,解压后还有一个myvp(因为压缩的时候把文件夹本身也压缩进去了),所有map中使用的时候的路径就是myvp/myvp/bin/…
在map的python脚本中加入如下的代码,会把第三方库加入到python 路径
import sys
sys.path.append("myvp/myvp/lib/python2.7")
这样就能使用到了这个文件夹底下的包,而不需要再map中使用source命令激活

热心网友 时间:2022-04-18 07:05

如何在maprece上使用第三方的Python库
streaming简单介绍
streaming就是将一些非java例如Python的文件放到maprece上执行,虽然效率可能不如原生的Java好,但是可以放心的写python脚本处理文件,而maprece只是一个辅助的工具,具体的使用可以参照官方文档
$HADOOP_HOME/bin/hadoop streaming -D mapred.job.priority='VERY_HIGH' -D mared.job.map.capacity=500
-D mapred.rece.tasks=0 -D mapred.map.tasks=500
-input myInputDirs(你得HDFS路径)
-output myOutputDir(你的HDFS路径)
-mapper "python yourpythonfile.py"
-recer "python yourpythonfile.py"
-file yourpythonfile.py(需要几个就添加几个-file)
-cacheArchive "/xx/xx/xx/myvp.tar.gz#myvp"(此处是一个HDFS路径,稍后用到)
123456789

使用第三方库
需要使用第三方库如bs4,numpy等时,需要用到虚拟环境virtualenv
virtualenv的使用
安装
pip install virtualenv1

新建虚拟环境
virtualenv myvp1

使得虚拟环境的路径为相对路径
virtualenv --relocatable myvp1

激活虚拟环境
source myvp/bin/activate1

如果想退出,可以使用下面的命令
deactivate1

激活后直接安装各种需要的包
pip install XXX1

压缩环境包
tar -czf myvp.tar.gz myvp1

在maprece上使用
在上面的脚本中可以看到使用了-catchArchive,但是路径是HDFS的路径,因此需要提前将本地的myvp.tai.gz包上传到HDFS上。
同时#后面的myvp是文件的文件夹,解压后还有一个myvp(因为压缩的时候把文件夹本身也压缩进去了),所有map中使用的时候的路径就是myvp/myvp/bin/…
在map的python脚本中加入如下的代码,会把第三方库加入到python 路径
import sys
sys.path.append("myvp/myvp/lib/python2.7")12

这样就能使用到了这个文件夹底下的包,而不需要再map中使用source命令激活
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在爱水APP哪个模块中可以填写个人信息,查询自己一天的饮水量? 黄金为什么是避险产品 避险买什么 避险品种是什么 避险产品什么意思 什么是避险产品 ...对联和我们平时使用的印章,说说使用了哪几个字体 对联上写的是什么字 ...有一空是让我评价我自己,请各位哥哥姐姐帮帮忙,帮我编一段,往好了... 艾灸用品哪种好 截图怎么操作用华为手机崔的是联通号? 多地发就地过年“大礼包”,你会愿意为了这些福利选择就地过年吗? 微信被举报了,显示不可解封,有好的处理方法,能解开吗,望支招。私人工作号? 如何将bs4.beautifulsoup对象转成字符串 python bs4 是怎么做到识别标签名,把他作为变量名存下来的 如何用Python对目标地址的PLC的地址里面读写值? 限制登录不可解封了怎么办 python td(”tr”)是什么意思 微信被人投诉显示,限制登陆,不可解封怎么办 如何把bs4.element.navigablestring类型插入mysql数据库 beautifulsoup是函数还库,他和bs4什么区别? 被封无法解封怎么办 如何打印CAD 趣阅小说怎么样听书 UC浏览器笔趣阁读书突然不能进入智能阅读模式 笔趣阁ios听小说有bug,亮屏的时候听着没问题,自动熄屏就不读了!怎么解决? 笔趣阁为什么不能听音乐 什么约会APP最火 现在什么软件泡妞好用? 什么泡妞软件最好 穆龙套金矿 给别人发短信时。怎样让收信人手机显示其它号码。 微信被恶意举报,限制登陆不可解封,还有戏吗? 春节送礼送什么给亲戚? 限制登录不可解封了怎么办 被封无法解封怎么办 Python如何用beautifulsoup库获取如下所示中的第二个value的值? 华为手机收到的短信,如何把备注名字下的手机号隐藏? 华为手机如何设置发短信显示移动公司的号码 微信被举报了,显示不可解封,有好的处理方法,能解开吗,望支招。私人工作号? 梦见活佛给我戴了好多佛珠? 微信被限制了无法解封怎么办 交流 华为手机30pro发短信怎样设置隐藏号码和名字? 华为手机如何查看手机号 做梦梦见一个老和尚给我一串黄色的佛珠,戴在脖子上的,还对我笑 wps文档不小心关闭没保存? 关于草莓有那些吃的 什么情况下车损险全额赔付 车损险在什么情况下可用 有关草莓的说明文