Sqoop 和 hive 连接到 sqlserver

Posted

技术标签:

【中文标题】Sqoop 和 hive 连接到 sqlserver【英文标题】:Sqoop and hive connect to sqlserver 【发布时间】:2016-12-22 15:37:37 【问题描述】:

我有我的 SQL 服务器名称和我的 IP,但我无法将 SQL 服务器数据库连接到 Hadoop Hive 数据库。

我在 coursera 中运行以下命令:

sqoop import 
--connect 'jdbc:sqlserver://myip:port;username=myusername;password=mypass;databaseName=myDB" 
--table mytablename
--hive import

但它说:

"无法加载数据库驱动类: com.microsoft.sqlserver.jdbc.SQLServerDriver"

任何想法如何构造连接字符串? 考虑 servername=servername。

【问题讨论】:

类路径中有 SQL Server JDBC 驱动程序吗? 您是否下载并安装了$SQOOP_HOME/lib目录下的SQL Server驱动程序? 请澄清一下,如果您想将数据导入 Hive 表或某个 HDFS 目录? 【参考方案1】:

通过以下命令下载SQL server JDBC驱动

curl -L 'https://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-613F99F850A8/sqljdbc_6.0.8112.200_enu.tar.gz'| tar xz

将 JAR 文件复制到$SQOOP_HOME/lib/ 目录。

对于 Java 7:

cp ~/sqljdbc_6.0/enu/jre7/sqljdbc41.jar /$SQOOP_HOME/lib/

对于 Java 8:

cp ~/sqljdbc_6.0/enu/jre8/sqljdbc42.jar /$SQOOP_HOME/lib/

【讨论】:

以上是关于Sqoop 和 hive 连接到 sqlserver的主要内容,如果未能解决你的问题,请参考以下文章

sqoop mysql数据变化怎么导入

Sqoop从本地MySQL导入到Hive为啥要求Sqoop一定要在HDFS中

怎样用sqoop把navicat for mysql 里的表导入到hive中

java - 如何在java jdbc中使用sqoop从sql server导入hive?

Sqoop从hive导数据到mysql中为啥一直报 ERROR tool.ExportTool:

Sqoop 连接到 SQL Server