Hive中的数据导入到MySQL

本文档详细介绍了如何将Hive中的结构化数据导入到MySQL中,包括创建Hive表、加载数据、在MySQL创建对应表,以及使用Sqoop进行数据迁移。在迁移过程中遇到的中文乱码问题,通过检查和修改MySQL编码设置,最终成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

有一些特殊的场景,需要将Hive中的结构化数据表的数据导入到MySQL中.如果是使用HiveContext去导的话,需要编写代码,然后提交jar包,比较麻烦.可以直接使用Sqoop组件将Hive的数据导入到MySQL中.Sqoop的安装和使用在这里不再赘述了.

1.创建Hive表

创建的Hive表及其定义的字段如下:

create external table behavior1(
city string,
page string,
time string
)ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';

2.Hive表加载数据

在hive数据仓库中将从behavior表(其他保存数据的一个hive表)中查询回来的数据插入到表behavior1中:

insert overwrite table behavior1 select city,page,time from behavior;

3.验证加载数据是否成功

查询hive数据仓库中behavior1的表中是否有数据:

select * from behavior1 limit 10;

4.在MySQL中创建数据表

在MySQL中创建表格behavior以用来保存Hive导进来的数据,申明使用uft-8编码(因为hive中的数据有中文,最好使用utf8编码,为避免以后出现编码问题,即使数据内容现在没有中文,也是建议使用utf8编码):

create table behavior(
city char(100),
page char(100),
time char(100)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

5.测试Sqoop连接数据库

测试sqoop连接数据

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值