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

Posted

技术标签:

【中文标题】用于查询大数据的 32 位数据库驱动程序和 64 位 R【英文标题】:32-bit Database Driver with 64-bit R to Query Big Data 【发布时间】:2014-09-26 14:19:02 【问题描述】:

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

尝试连接到 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。

有解决办法吗?

【问题讨论】:

@MillionC 对不起,我说错了。该解决方案仅解决了部分问题。在 32 位 R 会话中,您仍然有内存限制。但是可以通过32位R分片查询数据,在64位R中组合分片 不用担心。我想的也差不多。我能够在 64 位版本的 R 中使用 system() 间接连接到 32 位版本的 R,但它在内存方面没有做任何事情。感谢您的帮助,我可能会删除这些 cmets,因为它们不太有用。 【参考方案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

而这个答案: Hand Install of 64-bit MS Access ODBC drivers when 32-bit Office is present

【讨论】:

以上是关于用于查询大数据的 32 位数据库驱动程序和 64 位 R的主要内容,如果未能解决你的问题,请参考以下文章

您会为 Windows Vista 推荐 32 位还是 64 位?

编译 64 位 Linux 的 32 位 GTK+ 应用程序

32位、64位操作系统有什么区别?

32位和Java中的64位JDBC同时

.NET 并发集合可以用于进程间 x32 到/来自 x64 的通信吗?

64位系统与32位系统区别