好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Hadoop計數器的應用以及數據清洗

Hadoop計數器的應用以及數據清洗

熱門標簽:外呼系統不彈窗 申請400電話價格多少 安陽ai電銷機器人軟件 柳州市機器人外呼系統報價 云會外呼系統 廈門營銷外呼系統平臺 外呼系統的經營范圍 智能電話機器人坐席 涪陵商都400電話開通辦理

數據清洗(ETL)

在運行核心業務MapReduce程序之前,往往要先對數據進行清洗,清理掉不符合用戶要求的數據。清理的過程往往只需要運行Mapper程序,不需要運行Reduce程序。

1.需求

去除日志中字段長度小于等于11的日志。

(1)輸入數據

web.log

(2)期望輸出數據

每行字段長度都大于11

2.需求分析

需要在Map階段對輸入的數據根據規則進行過濾清洗。

3.實現代碼

(1)編寫LogMapper類

package com.atguigu.mapreduce.weblog;
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class LogMapper extends Mapper<LongWritable, Text, Text, NullWritable>{
  Text k = new Text();
  @Override
  protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
   // 1 獲取1行數據
   String line = value.toString();
   // 2 解析日志
   boolean result = parseLog(line,context);
   // 3 日志不合法退出
   if (!result) {
     return;
   }
   // 4 設置key
   k.set(line);
   // 5 寫出數據
   context.write(k, NullWritable.get());
  }
  // 2 解析日志
  private boolean parseLog(String line, Context context) {
   // 1 截取
   String[] fields = line.split(" ");
   // 2 日志長度大于11的為合法
    if (fields.length > 11) {
     // 系統計數器
     context.getCounter("map", "true").increment(1);
     return true;
   }else {
     context.getCounter("map", "false").increment(1);
     return false;
   }
  }
}

(2)編寫LogDriver類

package com.atguigu.mapreduce.weblog;
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 LogDriver {
  public static void main(String[] args) throws Exception {
// 輸入輸出路徑需要根據自己電腦上實際的輸入輸出路徑設置
    args = new String[] { "e:/input/inputlog", "e:/output1" };
   // 1 獲取job信息
   Configuration conf = new Configuration();
   Job job = Job.getInstance(conf);
   // 2 加載jar包
   job.setJarByClass(LogDriver.class);
   // 3 關聯map
   job.setMapperClass(LogMapper.class);
   // 4 設置最終輸出類型
   job.setOutputKeyClass(Text.class);
   job.setOutputValueClass(NullWritable.class);
   // 設置reducetask個數為0
   job.setNumReduceTasks(0);
   // 5 設置輸入和輸出路徑
   FileInputFormat.setInputPaths(job, new Path(args[0]));
   FileOutputFormat.setOutputPath(job, new Path(args[1]));
   // 6 提交
   job.waitForCompletion(true);
  }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

標簽:撫順 蕪湖 晉城 巴中 福州 南充 孝感 綏化

巨人網絡通訊聲明:本文標題《Hadoop計數器的應用以及數據清洗》,本文關鍵詞  Hadoop,計數器,的,應用,以及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Hadoop計數器的應用以及數據清洗》相關的同類信息!
  • 本頁收集關于Hadoop計數器的應用以及數據清洗的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久久久精品无码AV人妖色五月| 指尖传递热情青梅竹马是消防员| 小水嫩精品福利视频导航| 美国一级特a黄| 扒开她的内裤| 隔壁家的小白莲| 欧美大片黄| 奇米影视在线观看| 十大黄色软件免费| 精品国产一区二区在线| 女女女女女女女女98| 桑稚段嘉许浴室肉车| 国产视频综合| 香港A片毛片免费观看| 国产推特福利姬在线视频| 欧美黑人粗暴另类多交| 日本精品在线| 国产午夜亚洲精品不卡电影| 免费啪视频在线观看| 一级做人爰a全过程免费视频| 伊人久久大香线蕉综合75| 灵川县| 国精产品一区一区三区公司背景| 大岛优香被义子侵犯| 嗯啊嗯啊不要| 国产做受???高潮动漫| 国产污视频在线观看| 麻豆三级国产国语三级| 91大神精品网站在线观看| 国产偷人视频免费无码| 国产欧美色图| 青青河边草| 被同桌c到高潮婬荡呻吟作文 | 26UUU久久噜噜_噜噜 | 东北女人的性生殖| 男插女app| 扒下女人内裤猛进猛出色情| 男人猛桶女人| 日韩免费| 国产亚洲人成网站观看| 成人性生交大片免费看A片狼牙|