Sqoop安装测试、连接Sqlserver使用

Sqoop安装测试、连接Sqlserver使用

Sqoop是一个开源的工具,它允许用户将数据从关系型数据库抽取到Hadoop中,用于进一步的处理。抽取出来的数据可以被Mapreduce程序使用。也可以被其他类似于Hive的工具使用。一旦形成分析结果,Sqoop便可以将这些结果导回数据库,以供其他客户端使用。

安装测试步骤

1、安装Sqoop的前提是已经具备Java和Hadoop的环境。在系统环境变量中设置HADOOP_HOME变量
2、下载地址:链接:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/
3、解压sqoop安装包到指定目录

$ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/

4、重命名:

`mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha  sqoop-1.4.6`

5、重命名:

`mv sqoop-env-template.sh sqoop-env.sh`

6、修改配置文件:

vim sqoop-env.sh
export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2
export HIVE_HOME=/opt/module/hive-1.2.1
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export ZOOCFGDIR=/opt/module/zookeeper-3.4.10

7、下载JDBC驱动
Sqoop安装包中并不包含jdbc的SqlServer驱动,所以想在HDFS和SqlServer数据库之间导入导出数据,则需要先下载jdbc的SqlServer驱动。
(mssql-jdbc-7.4.1.jre8.jar 附上)

8、拷贝jdbc驱动到sqoop的lib目录下

Cp mssql-jdbc-7.4.1.jre8.jar /opt/module/sqoop-1.4.6/lib/

9、验证Sqoop
通过command来验证sqoop配置是否正确

bin/sqoop help

在这里插入图片描述
10、测试连接
连接sqlserver数据库检验是否成功 :显示所有数据库名称

bin/sqoop list-databases --connect 'jdbc:sqlserver://IP;username=;password='

在这里插入图片描述
11、除了jdbc中SqlServer的驱动 、还需要下载SQL Server-Hadoop Connector,用来支持HDFS与SqlServer数据库之间数据的传输;
下载地址为http://www.microsoft.com/download/en/details.aspx?id=27584
sqoop-sqlserver-1.0.tar.gz(附上)

12、解压sqoop-sqlserver-1.0.tar.gz到指定目录

tar -zxvf sqoop-sqlserver-1.0.tar  -C  /opt/module/

13、添加并在系统中添加环境变量MSSQL_CONNECTOR_HOME
让它指向sqoop-sqlserver-1.0.tar.gz目录

vim  /etc/profile/
export MSSQL_CONNECTOR_HOME=/opt/module/sqoop-sqlserver-1.0

14、让配置文件生效

source /etc/profile/

15、执行sqoop-sqlserver-1.0目录下的install.sh

16、此时可以利用Sqoop将sqlserver中的数据导入到HDFS了。

17、导入测试

bin/sqoop import  --connect 'jdbc:sqlserver://IP:端口号;username=;password=;database= ' --table= --target-dir /ods_data/gmall/db/test/2020-05-26 -m 1 --fields-terminated-by "\t"

18、Sqoop导入导出Null存储一致性问题:Hive中的Null在底层是以“\N”来存储,而MySQL中的Null在底层就是Null,为了保证数据两端的一致性。在导出数据时采用–input-null-string和–input-null-non-string两个参数。导入数据时采用–null-string和–null-non-string。

ENDING

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值