【问题标题】:Convert Oracle stored procedure to Hive or Spark将 Oracle 存储过程转换为 Hive 或 Spark
【发布时间】:2018-03-25 22:46:27
【问题描述】:

我在 Oracle 中编写了存储过程。有什么方法可以在 Hive 或 Spark 中实现该存储过程的相同功能。

就像在 Oracle 存储过程中一样,我们有游标,我们可以在另一个过程中调用一个过程,也可以进行很多其他操作。

请建议这在 Hive 中是否可行,或者是否有其他方式。我在网上搜索,似乎 Hive 版本 2 提供了使用存储过程的选项。

但是旧版本的解决方案是什么?

我是 Hive 和 Spark 的新手,因此欢迎任何指导或建议。

提前致谢。

【问题讨论】:

    标签: scala apache-spark stored-procedures hive user-defined-functions


    【解决方案1】:

    您还可以使用普通的java.sql.ConnectionCallableStatement 等从 Spark 调用您的存储过程。

    例如

     protected ResultSet fetchDataFromJdbc(String storedProc) {
       Connection connection;
       CallableStatement statement;
    
       try {
         Class.forName("my.db.Driver");
    
         connection = DriverManager.getConnection("url","user","pass");
    
         statement = connection.prepareCall(storedProc);
         statement.registerOutParameter(1, "outValue");
         statement.executeQuery();
    
         return (ResultSet) statement.getObject(1);
       } catch (Exception e) {
             e.printStackTrace();
             log.error(e.getMessage());
       }
    
     throw new IllegalStateException("Results should have returned.");
    }
    

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 2022-07-06
      • 2020-09-28
      • 2018-05-06
      • 1970-01-01
      • 2020-10-12
      相关资源
      最近更新 更多