3

I have a 32-bit HortonWorks Hadoop/Hive database that I'm able to query within 32-bit R using RODBC.

When trying to connect to the database in 64-bit R I receive this error:

[RODBC] ERROR: state IM014, code 0, message [Microsoft][ODBC Driver Manager] 

The specified DSN contains an architecture mismatch between the Driver and Application

However, the large size of the data requires me to use 64-bit R due to the memory limitations in Windows' 32-bit R.

Is there a work around?

Hack-R
  • 22,422
  • 14
  • 75
  • 131
  • @MillionC Sorry, I mis-spoke. That solution only solved part of the problem. Within the 32-bit R session you still have the memory limit. However, you can query the data in pieces through 32-bit R and combine the pieces in 64-bit R – Hack-R Sep 07 '18 at 18:53
  • No worries. I figured as much. I was able to indirectly connect to the 32-bit version of R using `system()` within the 64-bit version of R, but it didn't do anything in terms of memory. Thanks for the help, I'll probably delete these comments since they're not too useful. – Christian Million Sep 07 '18 at 22:57

1 Answers1

2

You need to match 32 bit odbc drivers with 32 bit R and the same for 64 bit R. I had a similar problem using 64 bit R with 32 bit office.

In my case, I used a 32 bit R installation (on my 64 bit windows) to use RODBC with the the data connections set up using the 32 bit drivers (look for this file: odbcad32.exe - this will bring up the 32 bit ODBC data source administrator). In my case I save the data as .rdata, and then continue in 64 bit R, but if you need to read and write constantly to the data source it may not be possible to use both.

See this post>

http://r.789695.n4.nabble.com/RODBC-for-64-bit-R-with-32-bit-Access-td3093030.html

And this answer: Hand Install of 64-bit MS Access ODBC drivers when 32-bit Office is present

Community
  • 1
  • 1
CCID
  • 1,368
  • 5
  • 19
  • 35