是否可以从Hive UDF内部在Hive上执行Sql?我尝试使用以下代码段进行操作:
Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
但是这给了我一个连接拒绝错误,而我能够从机器本身telnet到端口。
答案 0 :(得分:1)
Hive UDF在任务节点上执行。除非您在每个任务节点上运行配置单元服务器(希望不是),否则将连接URL设置为“localhost:10000”将不起作用。您必须为它提供蜂巢服务器节点的实际地址,无论是实际名称(例如my-hive-server-node.company.com:10000)还是只是ip(例如10.20.30.40:10000)。
另外,我真的退后一步,确保这是你想要做的。这似乎真的违背了Hive的意图。