- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop入门培训分析
Streaming开发实例 --map脚本内容 #!/usr/bin/python import sys for eachLine in sys.stdin: #从标准输入获取数据 eachLine = eachLine.strip() Seg = eachLine.split(‘|’) #用\t来分割开各个字段 if len(Seg) == 19 and Seg[1] == rpt_cad and Seg[6] != : ad_id = Seg[6] print ‘%s\t%d’ % (ad_id, 1) #将map结果送到标准输出 else: pass 文件名:cat ad_day_pv_map.py Streaming开发实例 --reduce脚本内容 #!/usr/bin/python LastLine = LastCount = 0 import sys for eachLine in sys.stdin: #从标准输入获取数据 eachLine = eachLine.strip() Seg = eachLine.split(‘\t’) #用\t来分割开key和value if len(Seg) == 2 and Seg[0] != : ad_id = Seg[0] if ad_id == LastLine: LastCount = LastCount + 1 #对于同一个key的值进行累加操作 else: if LastLine != : print ‘%s\t%d’ % (LastLine, LastCount) #将结果送到标准输出 LastLine = ad_id LastCount = 1 else: pass print %s\t%d % (LastLine, LastCount) 文件名:ad_day_pv_red.py Streaming开发实例 --脚本的运行 #!/bin/bash EXEC_PATH=$(dirname “$0”) #获取当前路径 HPHOME=/home/hadoop/hadoop-0.20.2-cdh3u0 #Hadoop安装的路径 JAR_PACKEGE=$HPHOME/contrib/streaming/hadoop-streaming-0.20.2-cdh3u0.jar #向Hadoop集群提交job所需的jar文件 IN_PATH= /data/test_in #输入数据的路径 OUT_PATH= /data/test_out #输出数据的路径 MAP_FILE=$EXEC_PATH/ad_day_pv_map.py #指定的map文件 RED_FILE=$EXEC_PATH/ad_day_pv_red.py #指定的reduce文件 QUEUE_NAME=platform #输出文件夹不能事先存在,因此先删除一下 $ HPHOME/bin/hadoop fs -rmr $OUT_PATH #下面开始执行Job提交 $ HPHOME/bin/hadoop jar $JAR_PACKEGE \ -numReduceTasks 4 \ -input $IN_PATH \ -output $OUT_PATH \ -jobconf =$QUEUE_NAME \ -file $MAP_FILE \ -mapper $MAP_FILE \ -file $RED_FILE \ -reducer $RED_FILE $ HPHOME/bin/hadoop fs -ls $OUT_PATH #查看输出文件夹的情况 Streaming开发注意事项 1.程序本身的健壮性 2.注意-mapper和-reducer的路径要用绝对路径 3.map/reduce脚本要有可执行属性。 4.map/reduce脚本的简单语法层面的调试: cat input.txt|./map.py|sort|./red.py 5. map/reduce脚本的线上小部分数据进行简单测试。 6.关注hadoop的Job输出结果和Job运行界面。 7.保存Job输出结果的完美解决方案(nohup 命
文档评论(0)