前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MapReduce工作笔记——Streaming多路输出

MapReduce工作笔记——Streaming多路输出

作者头像
莫斯
发布2020-09-10 10:40:19
9520
发布2020-09-10 10:40:19
举报
文章被收录于专栏:备份

多路输出

加入如下命令:

代码语言:javascript
复制
-outputformat org.apache.hadoop.mapred.lib.SuffixMultipleTextOutputFormat \   
-jobconf suffix.multiple.outputformat.filesuffix=file_path_1,file_path_2  \             
-jobconf suffix.multiple.outputformat.separator="#" \                        
  1. 指定outputformat org.apache.hadoop.mapred.lib.SuffixMultipleTextOutputFormat
  2. 指定输出文件名的前缀,所有需要输出的文件名必须通过该参数配置,否则job会失败
  3. 设置value与文件名的分割符,默认为“#”,如果value本身含有“#”,框架会自动匹配至最后一个分隔符,用户亦可通过该参数重新设置其他的分隔符。

注:

  1. 上面三个是必须参数,否则会报错
  2. 当value为空时要在key值与"suffix.multiple.outputformat.separator"之间补充一个\t分隔符
  3. 输出不能有空行
  4. key和value值中不能有换行符

实现

只要在 map reduce脚本中print字符串中加上#file_path 比如要将aaa写入file_path_1bbb 写入file_path_2 使用Python如下: 使用#进行分割

代码语言:javascript
复制
if line == "aaa":
	print line + "#file_path_1"
elif line == "bbb":
	print line + "#file_path_2"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/12/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 多路输出
  • 实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档