在使用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版本和第三方库的更多相关文章

  1. Python中使用第三方库xlrd来写入Excel文件示例

    Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...

  2. (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, 'Read timed out.')

    (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, ‘Read timed out.’)pip工具安装百度经验链接: pip安装 ...

  3. python如何安装第三方库

    1.python集成开发环境pycharm如何安装第三方库 http://blog.csdn.net/qiannianguji01/article/details/50397046 有的时候安装不上第 ...

  4. Python:使用第三方库xlwt来写Excel

    继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...

  5. python中安装第三方库(使用豆瓣的镜像网站快速安装)

    #安装第三方库#标准库,第三方库#pip install selenium 直接从官网进行安装,有时网速会有点慢#可以去国内的镜像站安装#pip install selenium -i https:/ ...

  6. Python常用的第三方库

    最近学习python 做些数据挖掘相关的练习,涉及到很多第三方的库,所以做一总结. Setuptools 可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况. 我特别 ...

  7. Python之常用第三方库总结

    在使用python进行开发的时候,经常我们需要借助一些第三方库,进行日常代码的开发工作.这里总结一些常用的类库 1. requests Requests 是用Python语言编写,基于 urllib, ...

  8. python中常用第三方库记录

    python中有很多很好用的第三方库,现在记录一下这些库以及如何下载 一.virtualenv,这是一个可以将生产环境隔离开的python库,非常好用 在linux下使用pip install vir ...

  9. python版本及ML库

    一:关于Python版本的选择问题 关于Python的选择问题:要看学术界能不能把科学库迁移到Python3. 1:多个版本共用: 最近发现SciPy的最高版本是3.2,只能是退而求其次,不使用最新版 ...

随机推荐

  1. MySql 插入数据返回数据的Id值

    insert into addeditemgroup(addeditemgroupname) value(') ; select @@IDENTITY  as id; 返回最新的Id:

  2. python计算结果显示小数

    先将整型转换成float型,在计算,结果就有小数了 >>> a = >>> b = >>> c = a/b >>> a,b,c ...

  3. Docker监控怎么做?

    http://dockone.io/article/1643 监控的价值与体系在运维体系中, 监控是非常重要的组成部分.通过监控可以实时掌握系统运行的状态,对故障的提前预警,历史状态的回放等,还可以通 ...

  4. Grasshopper操作shp

    1 shp文件组件 提示ACE.OLEDB  未注册. 需要安装acess控件,https://www.microsoft.com/zh-CN/download/details.aspx?id=132 ...

  5. 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 ...

  6. Codeforces 580A - Kefa and First Steps

    580A - Kefa and First Steps 思路:dp dp[i]表示包括前i个元素中a[i]在内的最大增序列. 代码: #include<bits/stdc++.h> usi ...

  7. Oracle性能诊断艺术-读书笔记(脚本execution_plans截图)

  8. n阶汉诺塔 记住吧。。

    #include "bits/stdc++.h" using namespace std; int c; void move(char a,int n,char b) { prin ...

  9. SqlDataReader的用法

    datareader对象提供只读单向数据的快速传递,单向:您只能依次读取下一条数据;只读:DataReader中的数据是只读的,不能修改;相对地,DataSet中的数据可以任意读取和修改 01.usi ...

  10. EBS R12使用接口表往已存在的供应商地址下创建新的地点

    在供应商 "测试供应商A" 下已经有了两个地址,分别为 "地址A","地址B",现在由于某些原因,需要在地址A下面创建新的地点. 由于业务需 ...