此片博文是上篇博文的拓展进阶部分。
1. 需求
对Web访问日志中的各字段识别切分,去除日志中不合法的记录。根据清洗规则,输出过滤后的数据。
- 1. 输入数据
- 2. 期望输出数据 都是合法的数据
2. 代码实现
- 1. 定义一个bean,用来记录日志数据中的各数据字段
package com.buwenbuhuo.ETLcomplex;
/**
* @author 卜温不火
* @create 2020-04-25 20:08
* com.buwenbuhuo.ETL - the name of the target package where the new class or interface will be created.
* mapreduce0422 - the name of the current project.
*/
public class LogBean {
private String remote_addr;// 记录客户端的ip地址
private String remote_user;// 记录客户端用户名称,忽略属性"-"
private String time_local;// 记录访问时间与时区
private String request;// 记录请求的url与http协议
private String status;// 记录请求状态;成功是200
private String body_bytes_sent;// 记录发送给客户端文件主体内容大小
private String http_referer;// 用来记录从那个页面链接访问过来的
private String http_user_agent;// 记录客户浏览器的相关信息
private boolean valid = true;// 判断数据是否合法
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(this.valid);
sb.append("