MapReduce去空去重

MapReduce清洗数据

注意:此代码虽能完美实现需求,但还有一些地方需要优化

详细优化内容请访问下方链接,更新时间2019/03/13

https://blog.youkuaiyun.com/weixin_42063239/article/details/88537897

前言

爬虫爬取的数据中会有一些数据有空值或者数据重复,想要得到规范的数据则要进行数据清洗,对保存为csv类型的数据来说可以用python的pandas库进行清洗,无论是去重还是去空几行代码就可以解决,但是对于海量数据来说用MapReduce则是更优的选择,而且马上要参加的比赛也是要求用MapReduce进行清洗,想想也是,如果用pandas一条drop_duplicates()那也没有什么能考察的点了,下面是我在爬取前程无忧职位招聘相关数据后对其进行清洗的过程

目标

对上传的csv文件进行去空去重,并把每个字段的间隔由逗号“,”改为“|”

准备

需要搭建好的hadoop平台,伪分布式亦可,MapReduce代码使用intellij IDEA开发并打出jar包上传到linux中运行

数据

这是部分数据,因为并不是很大只有20M+所以直接用excel打开了,但依然需要一些时间响应

注意:这种操作是错误的!!!如果数据量够大,基本这样操作就GG了,正确操作为在linux系统里用head -100 file_name查看前100行数据,或者用pandas等查看部分数据,这里为了方便所以直接用excel打开

 代码部分

创建项目

IDEA新建普通java项目,导入编写MapReduce所需要的jar包注:曾经耗费大量时间去在网上找jar包,优快云上的jar包都需要用积分去下载而且版本也不一定对,历经千辛万苦从hadoop官网下了几个jar包后发现还是少,最后发现集群中hadoop文件夹下就有,也就是我们解压的那个hadoop的tar包里就有,在hadoop目录下share/h

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值