Hadoop streaming mapreduce多文件输入使用方法
2017-03-18 19:36
281 查看
写Mapreduce程序时,常常会有同时处理多个输入文件的的需求,那么如何在map程序中方便的知道这一条record到底来自哪个文件呢?如果数据源是可控的,我们尚可以通过字段的个数等来判断,然而这不是一个优雅的方法,其实hadoop已经给了留了解决方法:在map端获取环境变量map_input_file(0.21.x的版本分支中是mapreduce_map_input_file)即为本次的输入文件。
以笔者使用的hadoop streaming + python环境为例:
输入文件有两个:
-input "/home/hadoop/file1"
-input "/home/hadoop/file2"
在mapper文件中:
if 'file1' in os.getenv('map_input_file'):
//文件1处理逻辑
if 'file2' in os.getenv('map_input_file'):
//文件2处理逻辑
相关文章推荐
- 使用seek()方法,将Hadoop文件系统中的一个文件在标准输出上显示两次
- 使用DFSClient实现 hadoop上传文件功能,采用使用输入输出流实现 Hadoop 版本2.7.0
- 使用MyEclipse无法上传文件到Hadoop HDFS的原因与解决方法
- python基础(文件输入/输出 内建类型 字典操作使用方法)
- 输入输出流的shutdownoutput和shutdowninput方法的使用(文件默认有一个-1的结束标志位)
- 【hadoop】 java客户端 使用append方法添加文件时报hdfs空间不足
- python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
- python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
- 使用DFSClient实现 hadoop上传文件功能,采用使用输入输出流实现 Hadoop 版本2.7.0
- Windows 以及 Linux 使用文件作为程序测试输入的方法
- Hadoop-2.2.0使用lzo压缩文件作为输入文件
- acm技巧 使用文件输入输出方便测试的方法
- Javascript - 验证表单输入:几种表单输入项对象的使用方法
- 当在文本框中输入完毕后,敲回车就相当于按确定键!回车的使用方法收集
- 在Delphi中使用CreateOleObject方法对WORD文件进行操作
- web.config文件自定义配置节的使用方法
- 非java.util.zip,使用ant.jar制作zip压缩文件,以及相关中文解决方法
- 使用J2SE API读取Properties文件的六种方法
- ASP 在Windows 2003 server使用纯代码上传大文件遇到的错误,及解决方法
- 属性配置文件的使用方法