用于查询大数据的 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+ 应用程序