Support Questions
Find answers, ask questions, and share your expertise

Unable to connect Excel 2016 for MAC to Hive

New Contributor

Now the hive ODBC driver can be installed in OS X 10.11, however, Excel 2016 for MAC still can not connect. My DSN was tested successfully with iodbctest, however, Excel failed to connect with error message "IM003 [iODBC][Driver Manager]Specified driver could not be loaded" and "00000 [iODBC][Driver Manager]dlopen(/opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib, 6): no suitable image found. Did find /opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib: open() failed with errno=1"

1 ACCEPTED SOLUTION

Accepted Solutions

Explorer

I ran into this same problem with Excel 2016 on El Capitan. Jiaxing Liang is right in that OS X's sandboxing is blocking access to libhortonworkshiveodbc.dylib. You can verify the same by launching /Applications/Utilities/Console and filtering on 'sandboxd'. The Activity Monitor can also display if sandboxing is enabled. View -> Columns -> Sandbox.

As a work around I copied the Hortonworks Hive ODBC driver from the default install location of /opt/hortonworks to /Library/ODBC/hortonworks. I then updated the odbc.ini and odbcinst.ini files to reference the new driver location.

# Driver: The location where the ODBC driver is installed to. Driver=/Library/ODBC/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib

The ErrorMessagesPath in the hortonworks.hiveodbc.ini files was being blocked too so that needed updating as well.

ErrorMessagesPath=/Library/ODBC/hortonworks/hiveodbc/ErrorMessages/

View solution in original post

22 REPLIES 22

Super Guru

was this Sandbox? local? server?

Also did you set the configuration files?

http://hortonworks.com/hadoop-tutorial/how-to-install-and-configure-the-hortonworks-odbc-driver-on-m...

New Contributor

This was the Sandbox. I followed the same instruction.

Super Guru

Can you post the contents of your configuration files and hosts. I had the problem on Mac that the files were ROOT read only and that the sandbox did not have permissions. Can you access other items on the Sandbox remote? Sometimes anti-virus will block ports. Can you access from ambari?

I am experiencing the same problem when following the tutorial at http://hortonworks.com/hadoop-tutorial/how-to-install-and-configure-the-hortonworks-odbc-driver-on-m... . I am using Sandbox v2.4.

The data source test in iODBC Administrator reports "The connection DSN was tested successfully, and can be used at this time", but when I test it under Excel 15.21 I get the same error.

Guru
It seems like an abrupt ending to this topic. It seems like I was stuck in a similar problem, however, it looks more like and excel and configuration issue rather than the iODBC manager itself.
I tried testing this via isql and it worked:

HW13382:~ srai$ isql "Sample Hortonworks Hive DSN"
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> show tables
+-------------------------------------------------
| tab_name                                        
+-------------------------------------------------
| sample_07                                       
| sample_08                                       
| testtable                                       
| yahoo_orc_table                                 
+-------------------------------------------------
SQLRowCount returns -1
4 rows fetched
SQL>


Whereas, working with the same code, shows precisely the same error message as reported by Sean:
00000 [iODBC][Driver Manager]dlopen(/opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib, 6): no suitable image found. Did find /opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib: open() failed with errno=1"
At least, its clear that the problem is not with the driver, but looks more like an excel/office issue.

Guru

My version details:

OSX El Capitan 10.11.3

[root@sandbox ~]# hadoop version
Hadoop 2.7.1.2.4.0.0-169
Subversion git@github.com:hortonworks/hadoop.git -r 26104d8ac833884c8776473823007f176854f2eb
Compiled by jenkins on 2016-02-10T06:18Z
Compiled with protoc 2.5.0
From source with checksum cf48a4c63aaec76a714c1897e2ba8be6
This command was run using /usr/hdp/2.4.0.0-169/hadoop/hadoop-common-2.7.1.2.4.0.0-169.jar

Dltest also returns successful.

HW13382:~ srai$ dltest /opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib
SUCCESS: Loaded /opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib

File command also displays that its a shared library which supports i386 and x86_64

HW13382:~ srai$ file /opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib
/opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib: Mach-O universal binary with 2 architectures
/opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib (for architecture i386):	Mach-O dynamically linked shared library i386
/opt/hortonworks/hiveodbc/lib/universal/libhortonworkshiveodbc.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library x86_64

New Contributor

copy your driver to /usr/lib will work

Guru

I guess I'd have to disable mac security to copy anything under /usr/lib. Thanks, will try it out.

New Contributor

copy your driver to /usr/lib will work