在 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")
之后,我想读取一个位于 hive 中的维度简单表
R> dim(ore.get(name = "a_trial", schema = "tgar"))
然后我收到以下错误。
Error in get(name, envir = env) : object 'a_trial' not found
实际上,a_trial 表存在于 tgar 模式中。假设表有问题,我正在尝试这样一个简单的查询
R> ore.sync(query = c("QUERY1" = "SHOW DATABASES"))
错误就是这样
Error: HIVE command failed
我做错了什么?如何通过 ORCH 库从 R 成功连接配置单元?
最佳答案
我们前段时间遇到了同样的问题。 我们解决了将领域传递给架构参数的问题,如下所示:
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")
关于使用 ORCH 从 R 中读取配置单元表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41713703/