HIVE ODBC连接器设置

时间:2014-10-09 08:29:54

标签: hadoop odbc hive cloudera unixodbc

我将unixodbc配置为在我的Linux Mint机器中使用cloudera的hive连接器, 但在尝试连接到配置单元时(例如,使用isql -v hive

,我一直收到以下错误
S1000][unixODBC][Cloudera][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function.
[ISQL]ERROR: Could not SQLConnect

我想我以正确的方式设置了/etc/odbcinst.ini和〜/ .odbc.ini:

# content of /etc/odbcinst.ini
[hive]
Description = Cloudera ODBC Driver for Apache Hive (64-bit)
Driver=/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so
ODBCInstLib=libodbcinst.a(libodbcinst.so.1)
UsageCount  = 1
DriverManagerEncoding=UTF-16
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
LogLevel=0
SwapFilePath=/tmp

和我的〜/ .odbc.ini文件包含:

[hive]
Description=Cloudera ODBC Driver for Apache Hive (64-bit) DSN 
Driver = hive
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
# Values for HOST, PORT, KrbHostFQDN, and KrbServiceName should be set here.
# They can also be specified on the connection string.
HOST= <the host>
PORT= <the port>
Schema=<the schema>
# .. etc

你能帮我找出导致错误的原因吗?

2 个答案:

答案 0 :(得分:9)

什么是

ldd /opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so

告诉你?

可能是驱动程序未链接到libodbcinst.so。

你可以试试

LD_PRELOAD=/usr/local/libodbcinst.so

或您机器上的libodbcinst.so。

答案 1 :(得分:0)

你确定ODBCInstLib设置正确吗?

我遇到了与Vertica驱动程序相同的问题,我的libodbcinst.so.1最终需要一个绝对路径:/usr/lib/x86_64-linux-gnu/libodbcinst.so.1

我通过运行Find for libodbcinst.so来确定路径。