数据清洗是数据处理的前奏,也是数据处理的关键所在。使用java语言通过mapreduce技术可以实现数据清洗,一般对日志类型的数据会进行这样的清洗。
数据的清洗主要需要处理的是数据的过滤,重在三步走,去重,去空,去异常。
具体操作使用步骤如下。
1、使用IntelliJ IDEA新建项目。
2、这里通过maven技术实现项目数据的清洗。
3、接下来添写大数据开发需要的hadoop相关的groupId或artifactId。
4、点击“Next”进入下一步,接下来的窗口参数默认。点击Finish完成
5、使用maven技术开发项目,需要指定相关依赖。
这里的程序Mapper,Ruducer,Job,一定要注意json数据是值对,值对有JavaBean对应。
值对就是面向对象,面向对象就是一个属性一个值,json数据就是一个属性一个值。json对应java对象。遇到json一定有JavaBean。
注意企业中常见的问题就是wordcount的问题,即在项目中统计文档中英文出现的个数,如英文单词 hadoop的个数,结合到企业中的分析,如一天内用户点击率有多少,把用户点击率当成word,然成求count,只要清楚哪一列是用户点击率。
下面进入开发的步骤,需要建立JavaBean,JavaBean作用让你知道每一列到底是何意义。
第一步:建立一个GoodsBean,建立之后数据有意义。
第二步:把GoodsBean里面Json对应的属性全部写入 。
注意:price为什么在Bean中定义成String,它是Float型,我们要做的事是清洗,去空,如果抓取的price为空,这个地方显示空,如果是Float,这个地方显示的是0。爬虫爬取的时候,一般原生数据直接爬取,是空的可能性比是0的可能性大。尤其对爬虫来说不是写代码,比如八爪鱼这类类似于爬虫的工具,这个不需要写代码。这里就把price做字符串处理。后续导入hive时没有空数据,没有空数据就可以作Float。
定义完属性后,代码如下:
定义getter和setter 方法,为了面向对象的封装道理,因为私有属性,做取数据和设置数据的接口。
在代码处右键,选择”Generate....”
点击”Generate....”,选择getter和setter