在Oracle大数据机中,我们使用Oracle R发行版,我们的Hadoop是Kerberos安全的。首先,我要从kerberos取票
R> system("echo **[myPass]** | kinit **[myUser]**")
我在群集中使用Oracle R发行版。所以我在R中安装了ORCH包并将我的Ore类型设置为Hive。
R> library("ORCH")
R> ore.connect(type="HIVE")
之后,我想阅读位于配置单元中的尺寸简单表
R> dim(ore.get(name = "a_trial", schema = "tgar"))
然后我收到以下错误。
get(name,envir = env)中的错误:object' a_trial'找不到
实际上,tgar模式中存在a_trial表。假设表有问题,我尝试这样的简单查询
R> ore.sync(query = c("QUERY1" = "SHOW DATABASES"))
错误就是那样
错误:HIVE命令失败
我做错了什么?如何通过ORCH库成功连接来自R的配置单元?
答案 0 :(得分:1)
前段时间我们遇到了同样的问题。 我们解决了将域传递给schema参数的问题,如下所示:
ore.connect(user="USERNAME", password="PASSWORD", host="HOSTNAME", schema="SCHEMA_NAME;principal=REALM", type="HIVE"),
其中REALM取自hive-conf.xml。 一旦有了可行的连接,您就可以明确地更改模式,例如:
ore.sync(schema="SCHEMA_NAME", table="TABLE_NAME")