check1<-rimpala.query("select * from sum2")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.sql.SQLException: Method not supported
dim(sum2)是49501行和18列。
check1<-rimpala.query("select *from sum3")
dim(sum3)是102行6列。
它的样本量较小。
很抱歉,我不能复制这个例子。是否有人在数据量较大时遇到同样的问题?有什么办法解决这个问题吗?谢谢。
3条答案
按热度按时间tez616oj1#
我对rimpala包也有同样的问题,建议使用rjdbc包:
我把这些jar文件用在了一个晚上,一切正常:https://downloads.cloudera.com/impala-jdbc/impala-jdbc-0.5-2.zip
有关更多信息和速度比较,请参阅以下博客:http://datascience.la/r-and-impala-its-better-to-kiss-than-using-java/
xwbd5t1u2#
rimpala(v0.1.6)版本更新为支持使用executeupdate执行ddl查询。
最新版本包含以下修复程序/增补程序:
支持ddl查询执行。
查询函数中的fetchsize参数,用于说明在从impala读取的一次往返中可以检索的记录数。
修复返回空值时查询失败的问题。
与cdh 5.x.x兼容
您可以使用query函数运行ddl查询,如下所示:
您还可以在query函数中指定fetchsize,以帮助高效地读取大数据。
请查找最新的内部版本:http://cran.r-project.org/web/packages/rimpala/index.html
源代码:https://github.com/mu-sigma/rimpala
5jvtdoz23#
正如stackoverflow的其他部分所述,rimpala没有实现
executeUpdate
因此无法运行任何修改状态的查询。我怀疑您不是通过运行更大的select查询来出错的,而是因为您试图插入、更新或删除一些数据。如果您想使用r中的impala,我建议您使用dplyimpaladb。