1.解压sqoop安装包,配置环境变量;
2.导入msyql驱动包到${SQOOP_HOME}的lib 目录下;若已经安装过hive,可从hive的lib复制过去:
cp ${HIVE_HOME}/lib/mysql-connector-java-5.1.44.jar ${SQOOP_HOME}/lib
3.测试是否安装成功:
sqoop help
4.测试sqoop是否能够连上mysql:
sqoop list-databases -connect jdbc:mysql://192.168.146.1:3306/ -username root -password 123
#此代码运行成功会显示你的root用户下的所有库
------------
192.168.146.1 : 这个是你的mysql安装的主机地址
我的mysql装在windows下,可通过cmd的ipconfig命令查看,Vmnet8下的:ip4地址
root:用户名;
可能会出现问题:
java.sql.SQLException: Access denied for user 'root'@'192.168.0.115' (using password: YES)
在确保用户密码无误的情况下:
应该是因为该用户没有远程登录权限,可以进行如下配置(在mysql中):
grant all on *.* to root@'%' identified by '123'; #root为你的用户名
5.sqoop复制mysql表到hive :
首先添加配置(/etc/profile):
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
运行命令
sqoop create-hive-table -connect jdbc:mysql://192.168.146.1:3306/test -username root -password 123 -table student -hive-table student
#-table student mysql当中的表
#-hive-table student 要建的hive表
#这个语句只是将关系型数据的表结构复制到 hive 中,只是复制表的结构,表中的内容没有复制过去