Hadoop streaming使用自定义python版本和第三方库
在使用Hadoop的过程中,遇到了自带python版本比较老的问题.
下面以python3.7为例,演示如何在hadoop上使用自定义的python版本以及第三方库.
1.在https://www.python.org下载Python-3.7.2.gz包
2.在linux环境下:
tar -xvf Pthon-3.7.2 #解压文件
cd Python-3.7.2
./configure -- prefix=~/python37 #这里是你刚刚解压的路径
make -j
make install
3.这样就生成了一个python37文件夹
4.在本地python安装路径的site-packages中(你的包管理工具不同,本地包安装路径也不同)复制自己需要的第三方库的文件,放入python37/lib/python3.7/site-packages中
5.在linux环境下:
cd /home/username #路径可以自选
tar czf python37.tar.gz python37 #打包成tar.gz文件
${HADOOP_HOME}/bin/hadoop dfs -copyFromLocal python37.tar.gz username/python37.tar.gz #上传到HADOOP
6.将这个包含第三方库的python37.tar.gz文件上传到hadoop上
7.在mapreduce的sh脚本中用如下代码使用刚刚上传的python环境
PYTHON_DEPEND=username/python37.tar.gz #刚刚上传的hadoop中对应地址
depend_python="${PYTHON_DEPEND}"
${HADOOP_BIN} streaming \
-cacheArchive "${depend_python}#python" \
-input "${INPUT_PATH}" \
-output "${OUTPUT_PATH}" \
-mapper "python/python37/bin/python3 mapper.py"
reducer也是同理~
Hadoop streaming使用自定义python版本和第三方库的更多相关文章
- Python中使用第三方库xlrd来写入Excel文件示例
Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...
- (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, 'Read timed out.')
(python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, ‘Read timed out.’)pip工具安装百度经验链接: pip安装 ...
- python如何安装第三方库
1.python集成开发环境pycharm如何安装第三方库 http://blog.csdn.net/qiannianguji01/article/details/50397046 有的时候安装不上第 ...
- Python:使用第三方库xlwt来写Excel
继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...
- python中安装第三方库(使用豆瓣的镜像网站快速安装)
#安装第三方库#标准库,第三方库#pip install selenium 直接从官网进行安装,有时网速会有点慢#可以去国内的镜像站安装#pip install selenium -i https:/ ...
- Python常用的第三方库
最近学习python 做些数据挖掘相关的练习,涉及到很多第三方的库,所以做一总结. Setuptools 可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 我特别 ...
- Python之常用第三方库总结
在使用python进行开发的时候,经常我们需要借助一些第三方库,进行日常代码的开发工作.这里总结一些常用的类库 1. requests Requests 是用Python语言编写,基于 urllib, ...
- python中常用第三方库记录
python中有很多很好用的第三方库,现在记录一下这些库以及如何下载 一.virtualenv,这是一个可以将生产环境隔离开的python库,非常好用 在linux下使用pip install vir ...
- python版本及ML库
一:关于Python版本的选择问题 关于Python的选择问题:要看学术界能不能把科学库迁移到Python3. 1:多个版本共用: 最近发现SciPy的最高版本是3.2,只能是退而求其次,不使用最新版 ...
随机推荐
- MySql 插入数据返回数据的Id值
insert into addeditemgroup(addeditemgroupname) value(') ; select @@IDENTITY as id; 返回最新的Id:
- python计算结果显示小数
先将整型转换成float型,在计算,结果就有小数了 >>> a = >>> b = >>> c = a/b >>> a,b,c ...
- Docker监控怎么做?
http://dockone.io/article/1643 监控的价值与体系在运维体系中, 监控是非常重要的组成部分.通过监控可以实时掌握系统运行的状态,对故障的提前预警,历史状态的回放等,还可以通 ...
- Grasshopper操作shp
1 shp文件组件 提示ACE.OLEDB 未注册. 需要安装acess控件,https://www.microsoft.com/zh-CN/download/details.aspx?id=132 ...
- Codeforces 877E - Danil and a Part-time Job(dfs序+线段树)
877E - Danil and a Part-time Job 思路:dfs序+线段树 dfs序:http://blog.csdn.net/qq_24489717/article/details/5 ...
- Codeforces 580A - Kefa and First Steps
580A - Kefa and First Steps 思路:dp dp[i]表示包括前i个元素中a[i]在内的最大增序列. 代码: #include<bits/stdc++.h> usi ...
- Oracle性能诊断艺术-读书笔记(脚本execution_plans截图)
- n阶汉诺塔 记住吧。。
#include "bits/stdc++.h" using namespace std; int c; void move(char a,int n,char b) { prin ...
- SqlDataReader的用法
datareader对象提供只读单向数据的快速传递,单向:您只能依次读取下一条数据;只读:DataReader中的数据是只读的,不能修改;相对地,DataSet中的数据可以任意读取和修改 01.usi ...
- EBS R12使用接口表往已存在的供应商地址下创建新的地点
在供应商 "测试供应商A" 下已经有了两个地址,分别为 "地址A","地址B",现在由于某些原因,需要在地址A下面创建新的地点. 由于业务需 ...