我当然知道可复制的例子和一段代码,但对于这个问题,我必须(我不能)含糊不清。
我想把 Impala 和 Impala 联系起来。撇开这些问题不谈(“正式”),我不能在这台电脑上安装软件。。。但我使用了可移植版本的r和rstudio)
我试过rimpala套餐。
rimpala.connect(IP = myip,
port = the port where Impala sees,
principal = maybe this is not clear)
我很肯定我的问题的原因是 principal
我对文件不太清楚。不管怎么说,我试过几个组合,文件上说应该放在那里。
不管怎样,我都会得到同样的错误:
.jcall(“rjavatools”,“ljava/lang/object;”中出错invokemethod“,cl,:java.lang.illegalargumentexception:kerberos主体应该有3个部分:10.60.10.22:8888/impala/@tempuser
我在网上搜索过这个错误,它似乎与一些java的东西有关,但我对这种语言一无所知。
如果知道我不能访问我的电脑,比如说,我不能安装任何软件或者做只有管理员才能做的事情,那会很有用。
我知道这个问题写得不好,但正如我在这一次所说的,一个可复制的例子是不可能的。
更多细节
现在我在想这个问题,我把 IP
与我在浏览器的导航栏中看到的地址的参数连接到色调。我猜是一样的,但也许我在这一点上也做错了,因为我已经说过了,我很确定这个错误不是因为这个。
5条答案
按热度按时间py49o6xq1#
只是想用另一种方式访问类路径,而不是编写所有jar:
slwdgvem2#
r包implyr(在cran和github上)为impala提供了dplyr后端,使用odbc或jdbc驱动程序进行连接。有关说明,请参阅自述文件。
dgsult0t3#
我成功地使用了odbc连接器和
odbc
Package 在r。这个方法似乎没有任何java依赖项,是由implyr包的作者推荐的。根据我有限的经验,这个连接器在正确匹配r数据类型和impala数据类型方面做得更好,从而使r中的对象大小更小。对于Mac来说,这个过程就像,
安装cloudera odbc连接器
安装
unixodbc
:brew install unixodbc
请遵循《cloudera odbc连接器安装指南》echo export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/opt/cloudera/impalaodbc/lib/universal >> ~/.bash_profile
创建~/.odbcinst.ini
文件(可选)创建
~/.odbc.ini
提供您的连接详细信息。在这里,我使用kerberos:library(DBI)
library(odbc)
conn <- dbConnect(odbc::odbc(),
driver = "Cloudera ODBC Driver for Impala",
#database = "",
host = "",
port = ,
KrbHostFQDN = "",
KrbServiceName = "",
KrbRealm = "",
AuthMech=1)
dd <- dbGetQuery(conn, "select * from my_awesome_db.my_awesome_table limit 10;")
i7uq4tfw4#
与其使用rimpala包,不如使用rjdbc连接。您可以从cloudera网站下载最新的impala jdbc驱动程序jar文件:http://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-5.html
然后将jar中的这些文件导入到r并使用它们进行连接。
uqcuzwp85#
使用rodbc包。我成功地在生产中使用了它。在这里,我写了一个教程。从这个博客
下载clouderaimpalaodbc32.msi并安装它。
打开它并在参数字段中键入所需的信息,这里有一些屏幕截图可以帮助您更快地完成。
在r环境中,安装并库rodbc包。
类型,
顺便说一下,如果您的环境低于win 10
odbcConnect
,您必须提供您的用户名和密码(仅来自我的同事报告)。我希望你成功地使用 Impala 的r。