头歌 网约车大数据综合项目——基于Spark的数据清洗

第1关:网约车撤销订单数据清洗

任务描述
基于 EduCoder 平台提供的初始数据集(数据集存放在 /data/workspace/myshixun/ProvOrderCancel 中),按照下面的要求,完成网约车撤销订单数据的清洗工作。

编程要求
判断一行数据字段是否完整,如果字段长度小于 8 且有不完整字段(字段值为空),则清洗掉这一行数据;

去重清洗:若有相同订单 id(orderid)只保留第一行,其他的清洗掉;

撤销理由(cancelreason)有大量的字符串 null,请将这些字符串用"未知"替代;

将数据集中的订单时间(ordertime)、订单撤销时间(canceltime)转换为 “yyyy-MM-dd HH:mm:ss”格式,同时只保留订单时间和订单撤销时间在 2019 年 03 月 07 日的数据,其余数据全部清洗掉;

处理数据集中的行政区划代码(address),结合 MySQL 数据库 trafficdb 的表 t_address 中的 address_code 与 address_name 数据对应,将其转换成对应的地区名称,在行政区划代码(address)字段后插入,列名为 districtname,若数据中行政区划代码在数据库没有找到对应的行政区名称,则将行政区名设置为“未知”;

清洗完的数据保存为一个 csv 文件,存放至/root/files下,字符之间分割符为|。

数据集说明
本数据集是湖南网约车撤销订单数据,包含八个字段的信息,数据集的字段含义说明如下:

字段名    说明
companyid    公司ID名
address    行政区划代码
orderid    订单ID
ordertime    订单时间
canceltime    取消时间
operator    操作类型
canceltypecode    取消操作类型
cancelreason    取消的原因

MySQL 数据库 mydb 连接方式:

url:jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=utf-8;
用户名:root;
密码:123123。
表:t_address

列名    类型    介绍
address_code    varchar(255)    行政编码
address_name    varchar(255)    行政区域
测试说明
平台会对你编写的代码进行测试:
如果代码正确,会执行你的代码,验证网约车撤销订单数据是否清洗成功。点击评测按钮后,可以查看清洗后的数据,是否清洗成功。若程序未通过的情况下,可以点击测试集查看具体问题。

开始你的任务吧,祝你成功!

第2关:网约车成功订单数据清洗

任务描述
基于 EduCoder 平台提供的初始数据集(数据集存放在 /data/workspace/myshixun/ProvOrderCreate 中),按照下面的要求,完成网约车成功订单数据清洗的清洗工作。

编程要求
去重清洗:若有相同订单 id(orderid)只保留第一行,其他的清洗掉;

因乘客便签(passengernote)、加密字段(encrypt_c)和支付类型(faretype)中有大量的空值,所以删除字段名为 乘客便签(passengernote)、加密字段(encrypt_c)和支付类型(faretype)的所有数据;

去除上述字段后,再判断一行数据字段是否完整,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值