项目启动命令
目录创建与文件上传命令
数据清洗作业代码实现
数据清洗作业
原始数据清洗原因
原始数据代码清洗步骤
原始数据代码清洗步骤
数据清洗
//json格式数据提取 //需要fastjson对数据解析 //不需要聚合不需要reduce //k1,v1段固定<LongWritable, Text> //k2,v2类型<Text, Text>k2主播id, v2核心字段,用\t分割 public class DataCleanMap extend Mapper<LongWritable,Text,Text,Text>{ @Override protected void map(LongWritable k1, Text v1, Context context){ String line =v1.toString(); JSONObject jsonObj= JSON.parseObject(line); String id= jsonObj.getString("uid"); int gold= jsonObj.getString("gold"); int watchnumpv= jsonObj.getString("watchnumpv"); if(gold>=0 && watchnumpv >= 0){ Text k2 = new Text(); k2.set(id); Text v2 = new Text(); v2.set(gold+ "\t" + watchnumpv); context.write(k2, v2); } } } public class DataCleanJob{ }
提交任务到hadoop:hadoop jar demo.jar com.example.Demo hdfs://input hdfs://output
原始数据清洗代码实现
1、由于原始数据是通过日志方式进行记录的,在使用日志采集工具采集到HDFS之后,还需要对数据进行清洗过滤,丢弃缺失字段的数据,针对异常字段进行标准化处理