在 Hive 中执行 SQL 过程
Posted
技术标签:
【中文标题】在 Hive 中执行 SQL 过程【英文标题】:Execute SQL Procedures in Hive 【发布时间】:2017-12-22 21:03:07 【问题描述】:你好,
以下是我们的场景,请提出可能的解决方案,
我们有一个现有的报告解决方案 (SAP) 在 RDBMS 中执行一个过程(使用 JDBC 连接)以根据用户输入生成报告。
现在我们计划从 RDBMS 转移到 hive 作为我们的数据源。
有没有办法使用 JDBC 连接连接到 hive 并执行一个过程(HPLSQL 或 UDF 执行 Oracle 过程的等效工作)?
或者有没有其他方法可以使用 jdbc 在 hive 或 spark 中运行过程或程序? 谢谢
【问题讨论】:
【参考方案1】:可以使用 JDBC 连接到 Hive
https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-JDBC
但是,如果您的集群是安全的,您将需要连接到 HiveServer2
https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC
此外,Hive 从 2.0.0 版本开始支持存储过程
https://issues.apache.org/jira/browse/HIVE-11055
【讨论】:
感谢 hlagos 的回复。是否可以使用 jdbc 触发 HPL/SQL 过程并返回视图。类似于我们在 Oracle 中触发返回临时视图的过程。 不确定返回视图是什么意思,但您应该能够从存储过程中获取一组记录。以上是关于在 Hive 中执行 SQL 过程的主要内容,如果未能解决你的问题,请参考以下文章