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


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


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


第一个实例就是wordcount


第二个实例

 package testHadoop;

 import java.io.IOException;

 import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.TextOutputFormat;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner; @SuppressWarnings("deprecation")
public class ReverseIndex extends Configured implements Tool{
enum Counter{
LINESKIP;
} public static class Map extends Mapper<LongWritable,Text,Text,Text> {
public void map(LongWritable key,Text value,Context context) throws IOException, InterruptedException {
String line = value.toString();
try {
String[] lineSplit = line.split(" ");
String anum = lineSplit[0];
String bnum = lineSplit[1]; context.write(new Text(bnum), new Text(anum));
}catch(java.lang.ArrayIndexOutOfBoundsException e) {
context.getCounter(Counter.LINESKIP).increment(1);
return;
} }
}
public static class Reduce extends Reducer<Text,Text,Text,Text> {
public void reduce(Text key,Iterable<Text> values,Context context) throws IOException, InterruptedException {
String valueString;
String out = ""; for(Text value:values) {
valueString = value.toString();
out += valueString+"|";
}
context.write(key, new Text(out));
}
}
public int run(String[] args) throws Exception {
Configuration conf = getConf(); Job job = new Job(conf,"ReverseIndex");
job.setJarByClass(ReverseIndex.class); FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setMapperClass(Map.class);
job.setReducerClass(Reduce.class);
//job.setOutputFormatClass(TextOutputFormat.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class); job.waitForCompletion(true); return job.isSuccessful()?0:1; }
public static void main(String[] args) throws Exception {
int res = ToolRunner.run(new Configuration(), new ReverseIndex(),args);
System.exit(res);
}
}

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

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

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


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

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


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

  1. 炼数成金hadoop视频干货03

    视频地址:http://pan.baidu.com/s/1dDEgKwD 着重介绍了HDFS 运行了示例程序wordcount,自己也试了一遍(用的伪分布式) 1.建立数据(和讲师的操作有些不一样,不 ...

  2. 炼数成金hadoop视频干货01

    视频地址:http://pan.baidu.com/s/1dDEgKwD 最开始还是讲hadoop的起源,但是和其他垃圾视频不同,不是照本宣科,听了还是受益.作者给人一种感觉就是他是确实把他的经验和体 ...

  3. 炼数成金hadoop视频干货06-10

    视频地址:http://pan.baidu.com/s/1dDEgKwD 第六课统讲了hadoop几个子项目和HBase,第七课还是讲的HBase 第八课讲了PIG 第九课讲了Hive和Zookeep ...

  4. 炼数成金hadoop视频干货02

    视频地址:http://pan.baidu.com/s/1dDEgKwD 这个视频理论性太强,不过倒是给了自己唯一的选项就是自己实践,不用像以前那样视频中敲一个字符,我也敲一个字符 讲到的内容: 介绍 ...

  5. 炼数成金hadoop视频干货04

    视频地址:http://pan.baidu.com/s/1dDEgKwD 这一节讲的全是理论 任务执行优化 : 1.推测式执行: 2.重用JVM: 3.忽略模式. 除了手动修改Log4J.proper ...

  6. 015_[小插曲]看黄老师《炼数成金Hadoop应用开发实战案例》笔记

    1.大数据金字塔结构 Data Source-->Data Warehouses/Data Marts-->data exploration-->Data Mining-->D ...

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

    dataguru访问地址:http://f.dataguru.cn/?fromuid=99611 课程优惠码:C4B6  这段时间一直在dataguru(炼数成金)上学习<hadoop数据分析平 ...

  8. 截图:【炼数成金】深度学习框架Tensorflow学习与应用

    创建图.启动图 Shift+Tab Tab 变量介绍: F etch Feed 简单的模型构造 :线性回归 MNIST数据集 Softmax函数 非线性回归神经网络   MINIST数据集分类器简单版 ...

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

    MapReduce工作原理图文详解 1.Map-Reduce 工作机制剖析图: 1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在 ...

随机推荐

  1. C语言——递归练习

    1.炮弹一样的球状物体,能够堆积成一个金字塔,在顶端有一个炮弹,它坐落在一个4个炮弹组成的层面上,而这4个炮弹又坐落在一个9个炮弹组成的层面上,以此类推.写一个递归函数CannonBall,这个函数把 ...

  2. Hadoop 删除节点步骤

    1.在hadoop1.1.1/conf 下新建文件 nn-excluded-list 并写入要删除的节点名称或者IP 一个节点 一行 如: mos5200app cmpaknwom rac7 2.分发 ...

  3. 新建虚拟目录使用UNC共享文件夹(即:虚拟目录使用UNC共享文件夹)的方法 -摘自网络

    新建虚拟目录使用UNC共享文件夹(即:虚拟目录使用UNC共享文件夹)的方法1.UNC路径:\\192.168.1.2\test\,假设连接该UNC路径的用户名为:web,密码为:123 2.在原web ...

  4. Sql建表语句

    create table dbo.[Finance_CityInfo] ([CityId] int identity(1,1) not null , [City] nvarchar(20) not n ...

  5. linux 系统常用命令

    临时性的完全关闭防火墙,可以不重启机器: #/etc/init.d/iptables status                ##查看防火墙状态 #/etc/init.d/iptable stop ...

  6. homework-10

    不多不说这是一次神奇的作业,作业一拖再拖,到最后发现.... 首先,在一开始的最大字数和问题实现图形界面主要是由我的小伙伴邹同学完成的,所以当我第一次看到说要显示详细运行过程的时候感到很迷茫. 第一感 ...

  7. C++ Name Mangling 为什么不编码返回值参数

    这篇文章主要是推荐下 http://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html 这篇文章从编译器的角度看问题,比较深入. 回到题目,为 ...

  8. 使用https时,网站一些内容不能正常显示的问题

    在网站开发过程中,使用http网站页面一切正常. 但改成https后,发现网站一些页面不能正常显示出来,比如看上去没有样式等. 原因是: 在程序中调用了比如JQuery,而引用的URL使用的是Http ...

  9. HDU 2647 Reward (拓扑排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647 题意是给你n点m条有向边,叶子点(出度为0)上的值为888,父亲点为888+1,依次计算... ...

  10. hibernate一对多关系配置

    一.     表信息 公司表 cId cName cAdress Null Null Null 表t_company 员工表 sId sName sAge cId Null Null Null Nul ...