通过sqoop 将sqlserver 数据导入HDFS

(1)下载jdbc的sqlserver驱动

在HDFS与SqlServer数据库之间导入数据,需要下载jdbc的sqlserver驱动sqljdbc_3.0.1301.101_enu.tar.gz,下载链接:https://download.csdn.net/download/sn_gis/7483613 (微软官网的资源已失效)。并将jar文件拷入$SQOOP_HOME/lib 下

(2)但是这个只是jdbc中SqlServer的驱动,它并不支持HDFS与SqlServer数据库之间数据的传输,还需要下载 SQL Server-Hadoop Connector。解压得到sqoop-sqlserver-1.0目录,并在系统中添加环境变量

MSSQL_CONNECTOR_HOME,让它指向sqoop-sqlserver-1.0目录

下载地址:https://download.csdn.net/download/ytlviv1985/5230408 (下载分比较贵)  下载

sqoop-sqlserver-1.0.tar.gz

3.然后执行sqoop-sqlserver-1.0目录下的install.sh。这个命令会将连接的

jar文件和配置文 件拷贝的Sqoop目录中。

注意:我在执行此install.sh的时候,一直提示 MSSQL_CONNECTOR_HOME is not set ,但我检查环境变量都没有问题。网上各种方法都试了,都不行,只好打开install.sh看脚本中都做了些什么,发现其实就复制两个文件

通过sqoop 将sqlserver 数据导入HDFS

cp -r $MSSQL_CONNECTOR_HOME/lib/$SQLSERVER_JAR $SQOOP_HOME/lib/

cp -r $MSSQL_CONNECTOR_HOME/conf/managers.d/$SQLSERVER_CONF $SQOOP_MANAGERS_DIR/

于是,我直接从对应目录将这2个文件复制到对应的sqoop目录中,问题解决。