数据预处理与转存(Hive--Mysql)

时间:2021-06-18 19:17:01   收藏:0   阅读:0

一、数据预处理

1.1、在hdfs上新建目录

java程序启动前先在hdfs上建立相应文件夹,用于上传本地数据和处理后的数据

[root@hadoop102 ~]# hdfs dfs -mkdir -p /USAdatas/geodatas/inputs
[root@hadoop102 ~]# hdfs dfs -mkdir -p /USAdatas/geodatas/output

1.2、运行javaMapReduce代码

将结果上传到hdfs上新建目录/USAdatas/geodatas/inputs下

技术图片

二、数据存储

2.1、创建Hive数据仓库

2.1.1、连接Hive

[root@hadoop102 hive-1.2]# bin/hive

2.1.2、新建数据库

hive> create database db_usa;

2.1.3、使用新建数据库db_usa

hive> use db_usa;

2.1.4、建表

create table t_usaCovid19(
state String,
tot_cases String,
new_case String,
tot_death String,
new_death String,
data String
)
row format delimited
fields terminated by ‘,‘
;

2.1.5、加载数据

从hdfs上/USAdatas/geodatas/output目录下将处理好的数据加载到新建表t_usaCovid19中

hive> load data inpath ‘/USAdatas/geodatas/output/part-r-00000‘  into table t_usaCovid19;

查询表,验证数据是否加载成功

hive> select * from t_usaCovid19;

技术图片

2.2、导出到Mysql数据库

2.2.1、在mysql中新建相同结构数据库和表

技术图片

2.2.2通过sqoop导出hive表

./sqoop export --connect "jdbc:mysql://hadoop104:3306/db_usa?useUnicode=true&characterEncoding=UTF-8" --username root --password 123456 --table t_usaCovid19 --export-dir /user/hive/warehouse/db_usa.db/t_usacovid19 --input-fields-terminated-by ‘,‘ --num-mappers 1

导出成功如下:

技术图片

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!