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

Posted

技术标签:

【中文标题】Apache Zeppelin 0.7.3 - Oracle JDBC 问题和长时间运行的查询【英文标题】:Apache Zeppelin 0.7.3 - Oracle JDBC Issues & Long Running Query 【发布时间】:2018-05-23 03:43:51 【问题描述】:

我正在尝试通过 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,
   ...

问题:

    有谁知道如何禁用这个可能无用且有问题的字典查询? 有没有人知道解决这个问题的任何方法? 有没有人听说过 Zeppelin 0.8 的目标发布日期,希望能够修复?

我看到 this 旧帖子描述了类似的问题,但没有任何有用的回复。

【问题讨论】:

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

【讨论】:

感谢您的反馈。不是我所希望的,但仍然有帮助。【参考方案2】:

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

【讨论】:

我正在使用最新版本 0.7.3 并通过 tarball 安装,而不是从源代码构建。您是否建议从源代码构建会以某种方式规避该问题?谢谢。 正确,您需要从源代码构建,因为上一个正式版本尚不支持此新功能。

以上是关于Apache Zeppelin 0.7.3 - Oracle JDBC 问题和长时间运行的查询的主要内容,如果未能解决你的问题,请参考以下文章

Zeppelin 版本 0.7.3 - 连接到 Hive - 错误“找不到解释器 jdbc”

(Zeppelin + Livy)SparkUI.appUIAddress(),一定是错的

zeppelin0.7.3源码编译

apache zeppelin入门

Apache Zeppelin - 如何在 Apache Zeppelin 中使用 Helium 框架

Apache zeppelin - 带有角度和 zeppelin 解释器的变量范围