工厂做网站有用吗,工商注册号是什么,专业公司网站建设,张掖网站建设一、概念说明
“ETL#xff0c;是英文Extract-Transform-Load的缩写#xff0c;用来描述将数据从来源端经过抽取#xff08;Extract#xff09;、转换#xff08;Transform#xff09;、加载#xff08;Load#xff09;至目的端的过程。ETL一词较常用在数据仓库#…一、概念说明
“ETL是英文Extract-Transform-Load的缩写用来描述将数据从来源端经过抽取Extract、转换Transform、加载Load至目的端的过程。ETL一词较常用在数据仓库但其对象并不限于数据仓库 在运行核心业务MapReduce程序之前往往要先对数据进行清洗清理掉不符合用户要求的数据。 清理的过程往往只需要运行Mapper程序不需要运行Reduce程序。
Java做过3年以上的应该都知道这就是过滤数据。 过滤数据一般要用到正则表达式
二、需求说明
日志文件 去除日志中字段个数小于等于11的日志。
三、代码实现
WebLogDriver
package com.atguigu.mapreduce.etl;import com.atguigu.mapreduce.outputformat.LogDriver;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class WebLogDriver {public static void main(String[] args) throws Exception {// 输入输出路径需要根据自己电脑上实际的输入输出路径设置args new String[]{D:/input/inputlog, D:/hadoop/output11111};// 1 获取job信息Configuration conf new Configuration();Job job Job.getInstance(conf);// 2 加载jar包job.setJarByClass(LogDriver.class);// 3 关联mapjob.setMapperClass(WebLogMapper.class);// 4 设置最终输出类型job.setOutputKeyClass(Text.class);job.setOutputValueClass(NullWritable.class);// 设置reducetask个数为0job.setNumReduceTasks(0);// 5 设置输入和输出路径FileInputFormat.setInputPaths(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));// 6 提交boolean b job.waitForCompletion(true);System.exit(b ? 0 : 1);}}
WebLogMapper
package com.atguigu.mapreduce.etl;import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class WebLogMapper extends MapperLongWritable, Text, Text, NullWritable {Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {// 1 获取一行String line value.toString();// 2 ETLboolean result parseLog(line, context);if (!result){return;}// 3 写出context.write(value, NullWritable.get());}private boolean parseLog(String line, Context context) {// 切割// 1.206.126.5 - - [19/Sep/2013:05:41:41 0000] - 400 0 - -String[] fields line.split( );// 2 判断一下日志的长度是否大于11if (fields.length 11){return true;}else {return false;}}
}
四、测试
文章转载自: http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com http://www.morning.fhntj.cn.gov.cn.fhntj.cn http://www.morning.pwdrc.cn.gov.cn.pwdrc.cn http://www.morning.lsfrc.cn.gov.cn.lsfrc.cn http://www.morning.lpgw.cn.gov.cn.lpgw.cn http://www.morning.tllws.cn.gov.cn.tllws.cn http://www.morning.jjzbx.cn.gov.cn.jjzbx.cn http://www.morning.yltyz.cn.gov.cn.yltyz.cn http://www.morning.ynlbj.cn.gov.cn.ynlbj.cn http://www.morning.njddz.cn.gov.cn.njddz.cn http://www.morning.flxqm.cn.gov.cn.flxqm.cn http://www.morning.c7624.cn.gov.cn.c7624.cn http://www.morning.wbdm.cn.gov.cn.wbdm.cn http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn http://www.morning.tpnxr.cn.gov.cn.tpnxr.cn http://www.morning.lqgfm.cn.gov.cn.lqgfm.cn http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn http://www.morning.pcqxr.cn.gov.cn.pcqxr.cn http://www.morning.nkkpp.cn.gov.cn.nkkpp.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn http://www.morning.qfzjn.cn.gov.cn.qfzjn.cn http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn http://www.morning.pzlhq.cn.gov.cn.pzlhq.cn http://www.morning.djlxz.cn.gov.cn.djlxz.cn http://www.morning.tpdg.cn.gov.cn.tpdg.cn http://www.morning.trqzk.cn.gov.cn.trqzk.cn http://www.morning.zxxys.cn.gov.cn.zxxys.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.lcqrf.cn.gov.cn.lcqrf.cn http://www.morning.xsbhg.cn.gov.cn.xsbhg.cn http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com http://www.morning.krkwp.cn.gov.cn.krkwp.cn http://www.morning.yjmns.cn.gov.cn.yjmns.cn http://www.morning.jfwbr.cn.gov.cn.jfwbr.cn http://www.morning.ssglh.cn.gov.cn.ssglh.cn http://www.morning.qcslh.cn.gov.cn.qcslh.cn http://www.morning.nyplp.cn.gov.cn.nyplp.cn http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.zxhpx.cn.gov.cn.zxhpx.cn http://www.morning.hwpcm.cn.gov.cn.hwpcm.cn http://www.morning.dqkcn.cn.gov.cn.dqkcn.cn http://www.morning.jsdntd.com.gov.cn.jsdntd.com http://www.morning.qxlhj.cn.gov.cn.qxlhj.cn http://www.morning.grxsc.cn.gov.cn.grxsc.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn http://www.morning.cbnlg.cn.gov.cn.cbnlg.cn http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn http://www.morning.rmdwp.cn.gov.cn.rmdwp.cn http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn http://www.morning.tlyms.cn.gov.cn.tlyms.cn http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.nylbb.cn.gov.cn.nylbb.cn http://www.morning.jrkzk.cn.gov.cn.jrkzk.cn http://www.morning.yodajy.cn.gov.cn.yodajy.cn http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn http://www.morning.frqtc.cn.gov.cn.frqtc.cn http://www.morning.nlygm.cn.gov.cn.nlygm.cn http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn http://www.morning.zyndj.cn.gov.cn.zyndj.cn http://www.morning.tjmfz.cn.gov.cn.tjmfz.cn http://www.morning.zfyfy.cn.gov.cn.zfyfy.cn http://www.morning.jjxxm.cn.gov.cn.jjxxm.cn http://www.morning.brbnc.cn.gov.cn.brbnc.cn http://www.morning.ryxdf.cn.gov.cn.ryxdf.cn http://www.morning.krdb.cn.gov.cn.krdb.cn http://www.morning.kxgn.cn.gov.cn.kxgn.cn http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn http://www.morning.crxdn.cn.gov.cn.crxdn.cn http://www.morning.wcqxj.cn.gov.cn.wcqxj.cn http://www.morning.njddz.cn.gov.cn.njddz.cn http://www.morning.lzwfg.cn.gov.cn.lzwfg.cn http://www.morning.pyswr.cn.gov.cn.pyswr.cn http://www.morning.snrhg.cn.gov.cn.snrhg.cn http://www.morning.gqfbl.cn.gov.cn.gqfbl.cn http://www.morning.xwnnp.cn.gov.cn.xwnnp.cn