我的环境是hadoop-0.20.2,eclipse:SDK-3.3.2,

源数据为:

  1. Apr 23 11:49:54 hostapd: wlan0: STA 14:7d:c5:9e:fb:84
  2. Apr 23 11:49:54 hostapd: wlan0: STA 14:7d:c5:9e:fb:84
  3. Apr 23 11:49:54 hostapd: wlan0: STA 14:7d:c5:9e:fb:84
  4. Apr 23 11:49:54 hostapd: wlan0: STA 14:7d:c5:9e:fb:84
  5. Apr 23 11:49:54 hostapd: wlan0: STA 14:7d:c5:9e:fb:84
  6. Apr 23 11:49:54 hostapd: wlan0: STA 14:7d:c5:9e:fb:84

想要获取的数据是:

  1. Apr 23 14:7d:c5:9e:fb:84
  2. Apr 23 14:7d:c5:9e:fb:84
  3. Apr 23 14:7d:c5:9e:fb:84
  4. Apr 23 14:7d:c5:9e:fb:84
  5. Apr 23 14:7d:c5:9e:fb:84
  6. Apr 23 14:7d:c5:9e:fb:84

运行时输入的参数是:
hdfs的输入和输出目录:即 hdfs://cMaster:/user/joe/in    hdfs://cMaster:/user/joe/out

源代码:

  1. package hadoop;
  2.  
  3. import java.io.IOException;
  4. import org.apache.hadoop.fs.Path;
  5. import org.apache.hadoop.conf.Configuration;
  6. import org.apache.hadoop.conf.Configured;
  7. import org.apache.hadoop.mapreduce.*;
  8. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
  9. import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
  10. import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
  11. import org.apache.hadoop.io.*;
  12. import org.apache.hadoop.util.*;
  13. public class test extends Configured implements Tool{
  14. enum Counter{
  15. LINESKIP,
  16. }
  17. public static class Map extends Mapper<LongWritable,Text,NullWritable,Text>{
  18. public void map(LongWritable key,Text value,Context context)throws IOException,InterruptedException{
  19. String line=value.toString();
  20. try{
  21. String [] lineSplit=line.split(" ");
  22. String month=lineSplit[0];
  23. String time=lineSplit[1];
  24. String mac=lineSplit[6];
  25. Text out=new Text(month+' '+time+' '+mac);
  26. context.write(NullWritable.get(),out);
  27. }catch(java.lang.ArrayIndexOutOfBoundsException e){
  28. context.getCounter(Counter.LINESKIP).increment(1);
  29. return;
  30. }
  31. }
  32. }
  33. public int run(String[] args)throws Exception{
  34. Configuration conf=getConf();
  35. Job job=new Job(conf,"test");
  36. job.setJarByClass(test.class);
  37. FileInputFormat.addInputPath(job,new Path(args[0]));
  38. FileOutputFormat.setOutputPath(job,new Path(args[1]));
  39. job.setMapperClass(Map.class);
  40. job.setOutputFormatClass(TextOutputFormat.class);
  41. job.setOutputKeyClass(NullWritable.class);
  42. job.waitForCompletion(true);
  43. return job.isSuccessful()?0:1;
  44. }
  45. public static void main(String[] args)throws Exception{
  46. int res=ToolRunner.run(new Configuration(),new test(),args);
  47. System.exit(res);
  48. }
  49. }

hadoop-1.x的运行实例的更多相关文章

  1. 在Linux(Centos7)系统上对进行Hadoop分布式配置以及运行Hadoop伪分布式实例

    在Linux(Centos7)系统上对进行Hadoop分布式配置以及运行Hadoop伪分布式实例                                                     ...

  2. MapReduce编程入门实例之WordCount:分别在Eclipse和Hadoop集群上运行

    上一篇博文如何在Eclipse下搭建Hadoop开发环境,今天给大家介绍一下如何分别分别在Eclipse和Hadoop集群上运行我们的MapReduce程序! 1. 在Eclipse环境下运行MapR ...

  3. 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo

    hadoop中的RPC框架实现机制 RPC是Remotr Process Call, 进程间的远程过程调用,不是在一个jvm里. 即,Controller拿不到Service的实例对象. hadoop ...

  4. React 系列文章(1): npm 手动搭建React 运行实例 (新手必看)

    摘 要 刚接触React 开发, 在摸索中构建react 运行环境,总会遇到各种坑:本文,将用最短时间解决webpack+react 环境搭建问题. 1.如果你还没有React基础 看这里. 2.如果 ...

  5. 执行hadoop自带的WordCount实例

    hadoop 自带的WordCount实例可以统计一批文本文件中各单词出现的次数.下面介绍如何执行WordCount实例. 1.启动hadoop [root@hadoop ~]# start-all. ...

  6. hadoop一代集群运行代码案例

    hadoop一代集群运行代码案例 集群 一个 master,两个slave,IP分别是192.168.1.2.192.168.1.3.192.168.1.4               hadoop版 ...

  7. [转]Hadoop集群_WordCount运行详解--MapReduce编程模型

    Hadoop集群_WordCount运行详解--MapReduce编程模型 下面这篇文章写得非常好,有利于初学mapreduce的入门 http://www.nosqldb.cn/1369099810 ...

  8. win应用只允许单个实例运行,并将已运行实例窗口置顶

    关键词:windows,c++,桌面应用,单个实例,窗口置顶 目标:1.判断本程序是否已有一个实例在运行.2.若有,则激活已在运行的实例(将其窗口置顶),并退出当前运行. 1.使用semaphore来 ...

  9. 如何修改Docker已运行实例的端口映射

    如何修改Docker已运行实例的端口映射 Docker的端口映射,往往出现在两个阶段需要处理: 1.是在docker启动前就已经确定好,哪个docker实例映射哪个端口(往往这个情况比较,需要提前做规 ...

  10. 【Hadoop离线基础总结】Apache Hadoop的三种运行环境介绍及standAlone环境搭建

    Apache Hadoop的三种运行环境介绍及standAlone环境搭建 三种运行环境 standAlone环境 单机版的hadoop运行环境 伪分布式环境 主节点都在一台机器上,从节点分开到其他机 ...

随机推荐

  1. PAT (Advanced Level) 1065. A+B and C (64bit) (20)

    因为会溢出,因此判断条件需要转化.变成b>c-a #include<cstdio> #include<cstring> #include<cmath> #in ...

  2. 'xcopy' 'ipconfig'。。。 不是内部或外部命令,也不是可运行的程序 或批处理文件

    最近在win8下安装软件的时候,总是报 "xxx不是内部或外部命令,也不是可运行的程序 或批处理文件" 的错误 . 百思不得其解  打开cmd 或 powerShell 输入xco ...

  3. [iOS]C语言技术视频-12-指针变量练习二(数组打印)

    下载地址: 链接: http://pan.baidu.com/s/1mg7ZwUW 密码: p8e6

  4. 读书笔记——Java IO

    IO流的典型使用方式 1.缓存输入文件 BufferedReader in=new BufferedReader( new FileReader(文件名字) ); String s; StringBu ...

  5. [iOS]C语言技术视频-07-函数的定义

    下载地址: 链接: http://pan.baidu.com/s/1mgiWSqc 密码: 2q9k

  6. 自动安装脚本-------------基于LVMP搭建Nagios 监控

    Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...

  7. PHP 多线程、多进程

    多线程:PHP其实并不支持多线程,只是通过一些扩展或者socket方式伪装成多线程,实质不是的.在PHP 5.3 以上版本,使用 pthreads PHP扩展,可以使PHP真正地支持多线程:或者使用 ...

  8. MAC平台下mysql7.5的安装

    1.下载mysql(DMG格式64位的版本) http://dev.mysql.com/downloads/mysql/ 2.安装mysql 待下载*.dmg文件后双击,运行该安装文件 3.无限下一步 ...

  9. LPC1788的EMC驱动norflash

    Norflash型号为sst39vf32 #ifndef __NORFLASH_H_ #define __NORFLASH_H_ #include "common.h" #incl ...

  10. php部分--文件操作

    php中的文件指的是文件和文件夹,不是单指文件. 1.判断文件(判断是文件还是文件夹) 找文件,输出结果为file,代表的是文件. var_dump(filetype("./aa.txt&q ...