通过hadoop streaming 输入两个文件或目录
来源:互联网 发布:element linux 编辑:程序博客网 时间:2024/05/20 19:17
通过Hadoop streaming写Mapreduce程序时,会遇到同时处理多个输入文件或者目录的的需求,那么如何在map程序中知道这一条内容到底来自哪个文件?
其实hadoop已经给留了解决方法:在map端获取环境变量mapreduce_map_input_file,即为本次的输入文件。
sh脚本中:
py文件中判断目录:
其实hadoop已经给留了解决方法:在map端获取环境变量mapreduce_map_input_file,即为本次的输入文件。
sh脚本中:
-input ${hdfs_input_path} \-input ${hdfs_input_path_user} \
py文件中判断目录:
def mapper(): filepath = os.environ.get('mapreduce_map_input_file') filename = os.path.split(filepath)[0] for line in sys.stdin: if filename == 'hdfs://hadoop/user/hdfs/merge_test': pass if filename == 'hdfs://hadoop/user/hdfs/file_test': pass
注意:hdfs://hadoop是集群的名字,if判断路径的时候需要写上。
def mapper(): filepath = os.environ.get('mapreduce_map_input_file') filename = os.path.split(filepath)[-1] for line in sys.stdin: if filename == 'file_name1': pass if filename == 'file_name2': pass
阅读全文
0 0
- 通过hadoop streaming 输入两个文件或目录
- Hadoop streaming mapreduce多文件输入使用方法
- Hadoop streaming 编写MapReduce程序-二次排序,多文件输入
- hadoop处理不同输入目录文件
- Hadoop Streaming 输出文件分割
- Hadoop Streaming 实战: 文件分发与打包
- Hadoop Streaming 实战: 输出文件分割
- Hadoop Streaming 实战: 文件分发与打包
- Hadoop Streaming 实战: 输出文件分割
- Hadoop Streaming 实战: 文件分发与打包
- 【hadoop】streaming 文件分发与打包
- Hadoop Streaming 实战: 输出文件分割
- Hadoop Streaming 实战: 输出文件分割
- diff比较两个目录时,如何略过特定目录或文件
- java通过输入工作日数(正或负)得到具体日期或计算两个日期之间的工作日
- hadoop streaming两个数据文件实现join合并操作
- hadoop 文件目录操作
- Hadoop Streaming
- UVA
- jumpserver堡垒机名词
- python实例(字符串判断)
- bzoj3676:回文串(manacher+SAM的parent树上倍增)
- dlopen failed: "/data/app-lib/XXX/XXX.so" has unexpected e_machine: 40
- 通过hadoop streaming 输入两个文件或目录
- 论文阅读-《CoupleNet:Coupling Global Structure with Local Parts for Object Detection》
- Linux系统管理命令
- SpringMVC/SpringBoot使用easypoi实现Excel文件导入导出功能实现
- 恶意代码分析实战 课后题 Lab12-01
- 说一说gc
- 《奔跑吧Linux内核》之处理器体系结构
- 机器学习算法总结--线性回归和逻辑回归
- kafka存储机制