完整流程
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 一下)
版权归原作者 dnsn7 所有, 如有侵权,请联系我们删除。