sas odbc 方式连接 hive

1.配置hive-site.xml

首先声明一下,这里默认大家已经安装好了hive和sas,没有安装好的请参考网上的教程安装。hive-site.xml是
Hive的配置文件,位于$HIVE_HOME/conf文件夹下,在其中添加如下配置:

hive.server2.authentication NONE
Expects one of [nosasl, none, ldap, kerberos, pam, custom]. Client authentication types.
NONE: no authentication check LDAP: LDAP/AD based authentication KERBEROS:
Kerberos/GSSAPI authentication CUSTOM: Custom authentication provider (Use with
property hive.server2.custom.authentication.class) PAM: Pluggable authentication module
NOSASL: Raw transport

远程访问Hive,有好几种身份验证方式,因为我们的Hive服务仅在局域网中访问,简单起见,可以配置为NONE,
也就是不进行身份验证,NONE也是hive.server2.authentication的默认值。

2.确认hiveserver2服务已经运行

hive需要先作为服务运行起来,第三方应用才可以进行连接,使用下面的命令启动hive服务:

1
hive --service hiveserver2 2018-07-25 11:40:51: Starting HiveServer2

这个服务的默认端口号是10000。同时,还提供了一个web UI,默认端口号是10002,可以通过浏览器
直接访问:

3.下载、安装和配置ODBC Connector

可以从这里下载各个版本的HIVE ODBC: http://archive.mapr.com/tools/MapR-ODBC/MapR_Hive/,
这里需要注意下,针对不同的hive版本可能需要使用不同的odbc驱动,大家使用上如果有问题可以几
个版本都试一下。

Windows上odbc安装和配置说明: Install the Hive ODBC Connector on Windows
windows上的安装很简单,一路next,就可以了。

安装完成后从“开始”菜单中找到:MapR Hive ODBC Connector 2.1 (64-bit),打开
64-bit ODBC Administrato,可以看到下面的界面:

点击“添加”

选择“MapR Hive ODBC Connector”,按照下图这样配置,注意修改Hosts为运行Hive服务的主机IP:

Data Source Name:为数据源起的名字
Host(s):hive服务的主机ip
Port:默认是10000,大家根据实际修改
Database:对应hive的库名大家根据实际使用配置
User Name:对应hive机器上分配的linux用户名

点击“Test”, 成功后可以看到下面的界面:

如图所示,成功连接至hive。

4.编写sas程序代码访问Hive

如图,sas连接以odbc的方式连接hive:

libname hive odbc user= XXXXX password=XXXXX datasrc=hiveuat schema= XXXXX;
user:对应之前odbc设置的user
password:我没有配置密码,所以随便填
datasrc:对应之前odbc配置的odbc名
schema:指定读取表结构的库,对应之前odbc的库设置

配置好连接后,就可以用sas的语法查询、分析数据,下图是查询结果:

至此,sas以odbc的方式连接hive就完成了。这种方式对比hadoop的方式可以减少配置,更加方便。

undefined