Apache Zeppelin 0.7.3 - Oracle JDBC问题&长时间运行查询

时间:2017-12-08 21:02:07

标签: oracle apache jdbc apache-zeppelin

我正在尝试通过Apache Zeppelin 0.7.3和一个简单的查询连接到Oracle 12.1数据库:在完成之前超过10分钟从双重运行中选择sysdate。

$ zeppelin_home / logs中的JDBC日志显示:

    ERROR [2017-12-08 14:08:58,068] ({pool-2-thread-2} JDBCInterpreter.java[open]:177) - zeppelin will be ignored. driver.zeppelin and zeppelin.url is mandatory.

我在没有问题的情况下连接到同一环境中的MySql数据库,因此该问题似乎特定于Oracle。我已经检查了gv $ session并看到在执行Zeppelin查询后不久(几秒钟)创建的会话。对数据库的活动似乎表明,在大型字典查询上通过嵌套循环进行逻辑读取的时间较长,如下所示:

   SELECT  NULL AS table_cat,
   t.owner AS table_schem,
   t.table_name AS table_name,
   t.column_name AS column_name,
   DECODE (t.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3,
   ...

问题:

  1. 有谁知道如何禁用这个可能无用且有问题的字典查询?
  2. 根本没有人知道这个问题吗?
  3. 有没有人听说过Zeppelin 0.8的目标发布日期,希望有一个解决方案?
  4. 我看到java reflection nested object set private field旧帖子描述了类似问题,但没有任何有用的回复。

2 个答案:

答案 0 :(得分:1)

  1. 在0.7.3版中,对元数据的查询始终在段落查询之前运行。 主分支中的此查询以异步方式运行。
  2. 这不是一个简单的解决方法。 您可以阅读源代码。您的查询从此处开始: https://github.com/apache/zeppelin/blob/branch-0.7/jdbc/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java#L122
  3. 很多人都在等0.8.0。现在没有任何计划。

答案 1 :(得分:0)

出现同样的问题,它已在当前主版本中修复。从源代码构建它并且可以正常工作。请注意,在编写本文时,由于R解释器,主构建无法编译,只是省略包含-Dr标志并且您将是好的。按照README文件的说明进行操作。