炼数成金hadoop视频干货05



视频地址:http://pan.baidu.com/s/1dDEgKwD



这一节是讲师助教带着动手操作写简单的开发环境的部署和两个实例



开发环境的部署:http://www.cnblogs.com/admln/p/test-deployDevelopment.html



第一个实例就是wordcount



第二个实例

 1 package testHadoop;
 2
 3 import java.io.IOException;
 4
 5 import org.apache.hadoop.conf.Configuration;
 6 import org.apache.hadoop.conf.Configured;
 7 import org.apache.hadoop.fs.Path;
 8 import org.apache.hadoop.io.LongWritable;
 9 import org.apache.hadoop.io.Text;
10 import org.apache.hadoop.mapred.TextOutputFormat;
11 import org.apache.hadoop.mapreduce.Job;
12 import org.apache.hadoop.mapreduce.Mapper;
13 import org.apache.hadoop.mapreduce.Reducer;
14 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
15 import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
16 import org.apache.hadoop.util.Tool;
17 import org.apache.hadoop.util.ToolRunner;
18
19 @SuppressWarnings("deprecation")
20 public class ReverseIndex extends Configured implements Tool{
21     enum Counter{
22         LINESKIP;
23     }
24
25     public static class Map extends Mapper<LongWritable,Text,Text,Text> {
26         public void map(LongWritable key,Text value,Context context) throws IOException, InterruptedException {
27             String line = value.toString();
28             try {
29                 String[] lineSplit = line.split(" ");
30                 String anum = lineSplit[0];
31                 String bnum = lineSplit[1];
32
33                 context.write(new Text(bnum), new Text(anum));
34             }catch(java.lang.ArrayIndexOutOfBoundsException e) {
35                 context.getCounter(Counter.LINESKIP).increment(1);
36                 return;
37             }
38
39         }
40     }
41     public static class Reduce extends Reducer<Text,Text,Text,Text> {
42         public void reduce(Text key,Iterable<Text> values,Context context) throws IOException, InterruptedException {
43             String valueString;
44             String out = "";
45
46             for(Text value:values) {
47                 valueString = value.toString();
48                 out += valueString+"|";
49             }
50             context.write(key, new Text(out));
51         }
52     }
53     public int run(String[] args) throws Exception {
54         Configuration conf = getConf();
55
56         Job job = new Job(conf,"ReverseIndex");
57         job.setJarByClass(ReverseIndex.class);
58
59         FileInputFormat.addInputPath(job, new Path(args[0]));
60         FileOutputFormat.setOutputPath(job, new Path(args[1]));
61
62         job.setMapperClass(Map.class);
63         job.setReducerClass(Reduce.class);
64         //job.setOutputFormatClass(TextOutputFormat.class);
65         job.setOutputKeyClass(Text.class);
66         job.setOutputValueClass(Text.class);
67
68         job.waitForCompletion(true);
69
70         return job.isSuccessful()?0:1;
71
72     }
73     public static void main(String[] args) throws Exception {
74         int res = ToolRunner.run(new Configuration(), new ReverseIndex(),args);
75         System.exit(res);
76     }
77 }


eclipse中运行没问题后打包用集群运行的时候遇到一个小问题

版本不合。原来我编译的时候在windows下面用的JDK7,Linux中hadoop JDK是1.6。

把源码在Linux上1.6编译一下就可以了。



实践过程中还学到一个小知识,在运行程序命令中输入输出路径如果用例如 input output这样的,就是默认在HDFS上/user/用户名/下面的input和output

如果用例如/input /output这样的路径就是在HDFS根目录下的input 和output



炼数成金hadoop视频干货05

时间: 2024-11-05 15:52:55

炼数成金hadoop视频干货05的相关文章

炼数成金hadoop视频干货03

视频地址:http://pan.baidu.com/s/1dDEgKwD 着重介绍了HDFS 运行了示例程序wordcount,自己也试了一遍(用的伪分布式) 1.建立数据(和讲师的操作有些不一样,不过我相信自己) 2.运行wordcount程序 3.查看结果 (可以看出来,只要没空格,它都看作是一个单词) 接下来介绍了50030和50070查看任务和HDFS状态 ...... 其中如果想看日志的话除了命令行也可以直接输入 http://localhost:50070/logs/ http://

炼数成金hadoop视频干货04

视频地址:http://pan.baidu.com/s/1dDEgKwD 这一节将的全是理论 任务执行优化 : 1.推测式执行: 2.重用JVM: 3.忽略模式. 除了手动修改Log4J.properties也可以在web界面修改logLevle 炼数成金hadoop视频干货04

2014炼数成金hadoop应用开发实战案例培训视频教程

课程目录: 第1周 Hadoop基础回顾(7节) 第2周 Hadoop应用情况综述(5节) 第3周 巨型网站日志系统分析,提取KPI数据(Map-Reduce)(5节) 第4周 电信运营商LBS应用,分析手机用户移动轨迹(Map-Reduce)(4节) 第5周 电信运营商用户分析,通过通话指纹判断重入网用户(map-Reduce)(4节) 第6周 电子商务推荐系统设计(Map-Reduce)(2节) 第7周 更复杂的推荐系统场景(Mahout)(5节) 第8周 社交网络,判断微博用户关系亲疏程度

dataguru(炼数成金)大数据培训基地印象

dataguru访问地址:http://f.dataguru.cn/?fromuid=99611 课程优惠码:C4B6  这段时间一直在dataguru(炼数成金)上学习<hadoop数据分析平台(第十四期)>,说说我对炼数成金的印象. 最开始听说dataguru是通过它的广告邮件中的链接,发送的对象是itpub会员,如果你也是itpub会员,应该也会收到这么一封邮件. 后来才知道dataguru的前身是是ITPUB培训,ITPUB的创始人正是dataguru的主讲师-黄志洪(同时也是分布式系

MapReduce工作原理图文详解 (炼数成金)

MapReduce工作原理图文详解 1.Map-Reduce 工作机制剖析图: 1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在Hadoop集群里里面的任意一个节点进行,只要该节点装了Hadoop并且连入了Hadoop集群) 2.job client 在收到这个请求以后呢,会找到JobTracker并且请求一个作业ID(Job ID).(根据我们的核心配置文件,可以很轻易的找到JobTracker) 3.通过HDFS 系统把

炼数成金(dataguru)IT技能修炼

2016我定的目标就是要走出舒适区,进入学习区!为了少走弯路,节约学习的成本和时间,我选择了dataguru.看到心仪的课程毫不犹豫的就报了名. 分享了炼数成金邀请码,使用邀请码报名课程可以减免50%固定学费哦!http://www.dataguru.cn/invite.php?invitecode=AA62 课程优惠码:AA62 推荐理由有三: 1. 最近我在Dataguru学了<***>网络课程,挺不错的,你可以来看看!要是想报名,可以用我的优惠码 AA62 ,立减你50%的固定学费! 2

【炼数成金 RapidMiner 二 】数据导入、预处理、导出

(1)链接数据库 (2)选择相关数据 (3)导入数据显示 (4)第二种方案 直接打开一个csv文件 (5) 设定存储位置 得到插入csv文件的数据表 (6)元数据视图和"数据视图"中查看数据集.注意是否有任何属性具有缺失或不一致的数据. (7)替换缺失值 结果buying属性下的缺失个数为0 (7)使用过滤器 过滤其他的缺失数据 元数据缺失的数据 被删除 [炼数成金 RapidMiner 二 ]数据导入.预处理.导出

新城控股:千亿目标下的炼数成金之道

本文是新城控股集团CIO罗艳兵在帆软2016百强地产CIO峰会上的演讲. 嘉宾介绍:罗总曾任职于日立咨询.AMT咨询和联想集团,曾作为深圳大运会赛事管理规划总设计师.上海世博会世博中心石材供料总负责人.联想集团SAP. ERP.CRM.PLM.SCM子项目经理,在房地产行业创造了多个信息化第一. 以下是小编整理的讲稿,精彩的内容实在太多,这里做了精简. 非常感谢帆软陈总.徐总还有各位同仁给我这个机会来分享一下新城的一些信息化的情况.新城信息化这几年在学习标杆,对比大家在座的一些成果基础上,我们稍

炼数成金邀请码

我之前在Dataguru学的网络课程不错,分享炼数成金邀请码(邀请码:W14J)给大家,使用邀请码报名课程可以减免50%固定学费哦!请点击:http://f.dataguru.cn/invite.php?invitecode=W14J 炼数成金邀请码