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,只能是退而求其次,不使用最新版 ...
随机推荐
- C++中的也能使用正则表达式----转载
转自:https://www.cnblogs.com/ittinybird/p/4853532.html, 以作笔记. 正则表达式Regex(regular expression)是一种强大的描述字符 ...
- iOS Socket编程-C语言版(UDP)
. UDP Socket编程 先讲一讲UDP编程,因为比TCP要简单多了.首先,我们需要明白UDP是用户数据报协议,英文名为User Datagram Protocol,它是面向无连接的. 注意:So ...
- openstack 问题一览(持续总结中)
★名词 Qemu:它也是一种虚拟化技术,主要提供对IO,网络等外设的虚拟化管理.结合KVM(对CPU和内存管理),提供较为完整的虚拟化管理功能. Libvirt:提供了针对各种虚拟机技术的接口,来管理 ...
- Python爬虫Urllib库的基本使用
Python爬虫Urllib库的基本使用 深入理解urllib.urllib2及requests 请访问: http://www.mamicode.com/info-detail-1224080.h ...
- jsp动作之 setProperty
setProperty用来设置useBean实例的属性. 如useBean实例化了一个类,类中有nickname属性,那么,我们可以用setProperty来重新定义他的值. setProperty有 ...
- LINQ 系列
C#图解教程 第十九章 LINQ LINQ 什么是LINQLINQ提供程序 匿名类型 方法语法和查询语法查询变量查询表达式的结构 from子句join子句什么是联结查询主体中的from…let…w ...
- Assert.IsNotNull 方法(判断对象不为NULL)
Assert.IsNotNull 方法 Visual Studio 2012 其他版本 Visual Studio 2010 Visual Studio 2008 Visual Studio 20 ...
- JS-构造函数2
一.如何创建对象 1.对象字面量 var obj1={ name:"吻别", singer:"张学友", type:"流行" } 2.构造函 ...
- POJ 3481 splay模板
最后撸一发splay. 之前用treap撸的,现在splay也找到感觉了,果然不同凡响,两者之间差别与精妙之处各有其精髓! 真心赞一个! POJ平衡树的题目还是比较少,只能挑之前做过的捏一捏.但是收获 ...
- 如何合理命名CSS文件——摘自网友
有经验的网页制作者都明白,对于有多个栏目的大型网站而言,使用单一的CSS文件是不可能的.但CSS文件名如何命名对于新手来说是件容易出乱子的事.如何才能将CSS的命名做得井井有条? 坚持使用统一的CSS ...