LZ在一家公司做实习,公司本来是用的SAS,想考虑能否替换成R,然后我用R来实现现在SAS的功能.
不久前LZ成功用RODBC包连上了公司数据库(DB2),用的是同事的帐号密码。然后表读取,数据读取都没问题。数据库中表的SELECT等操作也ok。
但是最近遇到一个很棘手的问题。首先我们数据库中有两张表,暂且叫做表1和表2吧,表1比较小,表2很大(200w行20列)。首先表1做SELECT弄出一个表3,然后需要表3和表2做JOIN。现在问题是表2在服务器的数据库上,表3在我电脑本地的R上,R很奇怪无法把这两个表进行JOIN。
个人认为现在有两个方法:
一是把表3上传到数据库中,(但同事的帐号没有数据库的修改权限,只能读取,真给我一个能修改数据库的帐号万一把数据库弄坏了责任我也担不起)
二是用R读取表2,但表2真的太大了,内存完全吃不消。
而反观SAS,我用SAS也连上了公司的数据库,用的是同一个帐号密码。
表3 SAS用的是Rsubmit然后creat table,不过创建的是一个work.xxx的表3,这个我估计是本地的SAS中的表,也没有写到数据库里面。然后关键是SAS可以给本地的表3和数据库的表2做JOIN运算!!!
有没有高手指导一下我这种情况R下应该怎么办啊?
网上搜了一下,资料很少,这个兄弟的情况跟我是一样的:
http://stackoverflow.com/questions/29990387/rodbc-using-data-frame-in-a-join-on-sqlquery