简介
Sqoop是一款开源工具,主要用于在Hadoop、Hive、HBase等与传统数据库之间进行数据传递的工具。
软件安装
在这里,安装sqoop的版本为:sqoop1.4.7。这里值得一提的是,按照目前的版本来说,sqoop自1.4.7以后,进入到一个新的版本阶段,其安装配置和操作上和上一个时代的sqoop存在很大的差异,尽管存在一些方面的优化,但是由于开发还不是非常完善,所以个人建议,还是采用老版本的sqoop会相对来说更稳定一些。
Sqoop1.4.7下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/
下载完成以后,放到指定目录中对压缩包进行解压。解压命令 tar -xvzf xxx
解压完成以后,效果如图所示:
Sqoop在解压完成之后,在使用时,会根据文件中/etc/profile中HADOOP_HOME以及HIVE_HOME等寻找相关文件的配置。所以,基本上不需要做任何配置就可以对软件进行操作。
测试sqoop安装情况:
查看sqoop安装版本:
如果需要与oracle、mysql等关系型数据库连接,则需要导入相应的jar包。如图所示:
需要将jar包放到${sqoop_home}/lib下。
(PS:图中的hive-exec-3.1.2.jar是hive的相关jar包)
文件配置
尽管sqoop不需要配置任何文件就可以使用,在这里为了避免后期出现异常导致不必要的麻烦,所以在这里,我们需要对文件中的${SQOOP_HOME}/conf中的文件进行相关配置。
在${SQOOP_HOME}/conf目录中,复制文件sqoop-env-template.sh,重命名为:sqoop-env.sh。
如图所示:
编辑sqoop-env.sh文件:
文件中的HADOOP_COMMON_HOME以及HADOOP_MAPPED_HOME配置的内容为hadoop的安装目录;
HIVE_HOME配置内容为hive的安装目录,HIVE_CONF_DIR配置的是hive的配置文件目录。
ZOOCFGDIR配置的内容为zookeeper的安装目录。
测试与数据库进行连接:
./sqoop list-tables --connect jdbc:oracle:thin:@xxxx:orcl –username xxxx --password=xxxx
这条指令的意思是,列出连接数据库中所有的表名。
数据导入
sqoop可以将关系型数据库中的数据导入到hive hadoop hbase中,在这里,我们以向hive中导入数据为例,介绍导入指令。
导入命令需要在${SQOOP_HOME}中执行导入命令。
举个例子:
./sqoop import --connect jdbc:oracle:thin:@xxx:1521:ORCL --username xxx --password xxx--table xxx-m 1 --hive-import;
参数介绍:
sqoop import:将关系型数据库中的数据导入到hive或者hdfs中;
connect:表示和数据库建立连接
username:建立连接的时数据库的用户名
password:建立连接时数据库的密码
table:需要导入的oracle数据表(表名需要大写)
m:表示设置的开启mapper的数量
hive-import:表示向hive中的导入数据
执行成功之后,在hive的cli端,通过show tables命令,会看道导入成功的表名。