首页 > 代码库 > Hadoop自定义类型处理手机上网日志

Hadoop自定义类型处理手机上网日志

job提交源码分析

在eclipse中的写的代码如何提交作业到JobTracker中的哪?
(1)在eclipse中调用的job.waitForCompletion(true)实际上执行如下方法
  connect();
  info = jobClient.submitJobInternal(conf);
(2)在connect()方法中,实际上创建了一个JobClient对象。
  在调用该对象的构造方法时,获得了JobTracker的客户端代理对象JobSubmissionProtocol。
  JobSubmissionProtocol的实现类是JobTracker。
(3)在jobClient.submitJobInternal(conf)方法中,调用了
  JobSubmissionProtocol.submitJob(...),
  即执行的是JobTracker.submitJob(...)。

 

Hadoop数据类型

1.Hadoop的数据类型要求必须实现Writable接口
2.java基本类型与Hadoop常见基本类型的对照
    Long     LongWritable
    Integer     IntWritable
    Boolean    BooleanWritable
    String     Text


java类型如何转化为hadoop基本类型?
    调用hadoop类型的构造方法,或者调用set()方法。
      new LongWritable(123L);

hadoop基本类型如何转化为java类型?
    对于Text,需要调用toString()方法,其他类型调用get()方法。

 

使用Hadoop自定义类型处理手机上网日志

1、首先,将手机上网日志文件HTTP_20130313143750.dat通过WinSCP工具复制到/usr/local目录下

2、将日志文件上传到hdfs://chaoren:9000/wlan文件夹下

技术分享

 

日志文件:

技术分享

 日志文件中各字段含义:

技术分享

 

 3、编写Java代码将日志文件中想要的数据统计出来。

 

Hadoop自定义类型处理手机上网日志