使用sqoop将mysql数据导入到hive中

本文详细介绍了如何安装sqoop,测试与MySQL的连接,以及将MySQL数据导入Hive的过程。遇到HiveConfig加载问题时,提供了查找和修复环境配置的步骤。

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

 

目录

 

完整流程

1:安装sqoop(直接官网下就行了)详细教程点这里

2.测试连接sqoop连接mysql

2-1代码与解释

2-2结果

3.导入mysql数据到hive中

4.导入成功截图

 遇到的问题

问题一:


完整流程

1:安装sqoop(直接官网下就行了)详细教程点这里

在sqoop中配置环境(例如在/opt/sqoop-1.4.7.bin__hadoop-2.6.0/conf)

这里的地址要找出你对应的zookeeper,hadoop,hive地址

2.测试连接sqoop连接mysql

2-1代码与解释

sqoop list-databases --connect jdbc:mysql://192.168.10.102:3306/ --username root --password 1111   

上面的地址是虚拟机地址,端口号默认为3306(也可以查一下此端口是否有mysqld,如下面),后面的是用户名(root)和密码(1111),都是根据自己的填

[root@hadoop102 ~]# sudo lsof -i :3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  2428 mysql   53u  IPv6  93577      0t0  TCP *:mysql (LISTEN)

2-2结果

正常情况下,可以显示所有数据库

3.导入mysql数据到hive中

sqoop import 
--connect jdbc:mysql://192.168.10.102:3306/kk 
--username root 
--password 1111 
--table student 
--fields-terminated-by ',' 
--delete-target-dir 
--num-mappers 1 
--hive-import 
--hive-database db_msg 
--hive-table student   

这个命令是,将mysql中kk数据库中的表student导入到hive的db_msg数据库的student表(hive中的表可不存在,会自动创建)

4.导入成功截图

 遇到的问题

问题一:

问题:ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE CONF DIR is set correctly.

分析:hive的HiveConf无法正确加载("错误: 找不到或无法加载主类"报这个错的都可以试一试)

解决:

1:去到hive的lib目录下

2:这个命令的输出结果将显示hive-common-3.1.3.jar中包含的所有类文件,其中包含HiveConf类的行将被高亮显示出来。(在我这里,HiveConf类存在,说明环境没配好)

jar tf hive-common-3.1.3.jar Igrep HiveConf.class

3: vi .bash_profile(编辑环境变量)

4:加入下面这两句

 5:更新系统环境变量(source 一下)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值