任务描述
本关任务:对数据按照一定规则进行清洗。
编程要求
根据提示,在右侧编辑器补充代码,对数据按照一定规则进行清洗。
数据说明如下:data.json;
数据所在位置:/root/data/data.json;
{
"id":4,
"company_name":"智联招聘网/Zhaopin.com",
"eduLevel_name":"本科",
"emplType":"全职",
"jobName":"大数据工程师010",
"salary":"20K-30K",
"createDate":"2019-04-21T12:14:27.000+08:00",
"endDate":"2019-05-21T12:14:27.000+08:00",
"city_code":"530",
"companySize":"1000-9999人",
"welfare":"",
"responsibility":"岗位职责:1、负责体系大数据分析的ETL的代码开发及优化;2、...",
"place":"北京市朝阳区望京阜荣街10号首开广场5层",
"workingExp":"1-3年"
}
id company_name eduLevel_name emplType jobName salary createDate endDate city_code companySize welfare responsibility place workingExp
id编号 公司名称 学历要求 工作类型 工作名称 薪资 发布时间 截止时间 城市编码 公司规模 福利 岗位职责 地区 工作经验
Mysql数据库:
用户名:root;
密码:123123。
数据库名:mydb;
城市编码表:province;
列名 类型 非空 是否自增 介绍
city_code varchar(255) 城市编码
city_name varchar(255) 城市名称
HBase数据库:
最终结果表:job 列族:info。
清洗规则:
若某个属性为空则删除这条数据;
处理数据中的salary;
1)mK-nK:(m+n)/2;
2)其余即为0。
按照MySQL表province 将城市编码转化为城市名;
将结果存入HBase表job中;
设置数据来源文件路径及清洗后的数据存储路径:
数据来源路径为: /root/data/data.json;
清洗后的数据存放于:HBase表job。
测试说明
平台会对你编写的代码进行测试:
评测之前先在命令行启动HBase:start-hbase.sh;
点击测评后MySQL、HBase所需的数据库和表会自动创建好。
JsonTest:测试类操作
JsonMap:MapReduce操作
DBHelper:MySQL工具类
具体本关的预期输出请查看右侧测试集。
开始你的任务吧,祝你成功!
创作不易,如果能解决您的问题,麻烦您点赞、收藏+关注,一键三连!!!
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBHelper {
/********** begin **********/
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8";
private static final String username = "root";
private static final String password = "123123";
private static Connection conn = null;
static {
try {
Class.forName(driver);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static Connection getConnection() {
if (conn == null) {
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
return conn;
}
public static void main(String[] args) {
Connection connection = DBHelper.getConnection();
}
/********** end **********/
}