具有 64 位 R 的 32 位数据库驱动程序,用于查询大数据

32-bit Database Driver with 64-bit R to Query Big Data

提问人:Hack-R 提问时间:9/26/2014 更新时间:9/26/2014 访问量:2345

问:

我有一个 32 位 HortonWorks Hadoop/Hive 数据库,我可以使用 32 位 R 进行查询。RODBC

尝试连接到 64 位 R 中的数据库时,收到以下错误:

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

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

但是,由于 Windows 32 位 R 的内存限制,数据量很大,因此需要我使用 64 位 R。

有解决方法吗?

R Hadoop 配置单元 DSN RODBC

评论

0赞 Hack-R 9/8/2018
@MillionC 对不起,我说错了。该解决方案仅解决了部分问题。在 32 位 R 会话中,您仍然有内存限制。但是,您可以通过 32 位 R 分段查询数据,并在 64 位 R 中合并这些分段
0赞 Christian Million 9/8/2018
不用担心。我想得差不多。我能够在 64 位版本的 R 中使用间接连接到 32 位版本的 R,但它在内存方面没有任何作用。感谢您的帮助,我可能会删除这些评论,因为它们不太有用。system()

答:

2赞 CCID 9/26/2014 #1

您需要将 32 位 odbc 驱动程序与 32 位 R 匹配,将 64 位 R 匹配。我在使用 64 位 R 和 32 位 office 时遇到了类似的问题。

就我而言,我使用 32 位 R 安装(在我的 64 位 Windows 上)将 RODBC 与使用 32 位驱动程序设置的数据连接一起使用(查找此文件:odbcad32.exe - 这将显示 32 位 ODBC 数据源管理员)。就我而言,我将数据保存为 .rdata,然后继续使用 64 位 R,但如果您需要不断读取和写入数据源,则可能无法同时使用两者。

看到这篇文章>

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

这个答案是:当存在 32 位 Office 时,手动安装 64 位 MS Access ODBC 驱动程序