介绍

Apache Trafodion(正在孵化)和EsgynDB(Esgyn的商业版)支持数据可视化工具(例如,Apache Zeppelin和Tableau),具有标准JDBC/ODBC连接。本文重点介绍如何实现Apache Zeppelin在Trafodion上的可视化。

Apache Zeppelin基于web,数据专家可以通过该工具进行大规模数据挖掘和可视化的协作。大规模数据分析的工作流包括多个步骤,例如数据获取、预处理、可视化……。通过Zeppelin,用户可以在不同的执行块/段中创建这些步骤。这一套步骤/工作流称为Notebook。各段由解释器进行处理。Zeppelin具有几个默认的解释器。我们可以使用shell解释器、PostgreSQL解释器或JDBC解释器实现Trafodion或EsgynDB与Zepplin的集成。

架构

Zeppelin UI(客户端)连接到Zeppelin Server,然后与一个或多个解释器进行交互,以执行段落中的命令。

对于Trafodion/EsgynDB集成,我们可以使用JDBC解释器或Postgres解释器运行SQL命令,使用shell解释器在Trafodion/EsgynDB实例上运行shell命令。

为Trafodion/EsgynDB配置Zeppelin

  1. 将Trafodion T4 JDBC驱动器(jdbcT4.jar)复制到Zeppelin安装文件夹下的lib目录。
  2. 将jdbcT4.jar的所有权更改为zeppelin的用户id。使用HDP/Ambari时,会单独创建一个Zeppelin用户id。在您的系统上,检查zeppelin lib文件夹中其他jar文件的所有权,将这些所有权设置为与jdbcT4.jar相同。
  3. 重启Zeppelin。如果您使用Ambari安装Zeppelin,则可以使用Ambari Web控制台进行重启。
  4. 打开浏览器,登录http://myhost:9995。在默认情况下,Zeppelin在9995端口上运行。查看您的Ambari配置,了解详细信息。
  5. 您应该可以看到欢迎页面,状态应显示为已连接。
  1. 首先,配置JDBC解释器,连接到Trafodion/EsgynDB。单击菜单中的Interpreter
  1. 单击Create
  1. 根据显示的内容,填写详细信息。单击Save,创建解释器。

1) 输入您解释器的名称。
2) 在解释器的下拉菜单中,选择JDBC。
3) 填写Trafodion JDBC驱动器的详细信息,指定与您Trafodion实例匹配的JDBC URL。

  • default.driver            org.trafodion.jdbc.t4.T4Driver
  • default.url                  jdbc:t4jdbc://myhost:23400/:
  • default.user               trafodion
  • default.password     traf123
  1. 通过Notebook -> Create new note菜单,创建一个新的notebook。
  1. 选择新创建的notebook。
  1. 单击notebook右上角的Interpreter Binding图标。
  1. 选择您添加的新Trafodion解释器,拖动到解释器列表的顶部,单击Save
  1. 输入一个sql命令(例如,get schemas),单击Run。您应该可以看见您的Trafodion/EsgynDB数据库所有可用的schema列表。
  1. 如果执行失败,出现连接错误或套接字错误:
  • 查看HBase和Trafodion/EsgynDB是否正常启动并运行。
  • 查看用户名和密码是否正确。
  • 如果解释器超时一段时间,可能出现套接字连接错误。重启解释器,修复该错误。
  1. 如果依然存在异常,您可以检查zeppeliln的log文件夹中的zeppelin server和jdbc解释器的日志消息。

注意:

在默认情况下,如果没有执行查询(或Zeppelin UI闲置),解释器会关闭与数据库的连接。再次运行查询之前,请重启解释器。

示例DDL/获取/报告工作流

您可以使用一系列段落,在Zeppelin中创建工作流,每个段落分别负责执行您工作流中的一个步骤。下例使用SQL DDL语句创建一个新表,然后加载数据,最后运行一个已加载数据的报告。这些步骤分别使用notebook中的不同段落。

  1. 创建目标Trafodion表。

使用JDBC解释器运行CREATE DDL语句。

  1. 使用HBase Shell命令,查看表的HBase属性。

使用shell解释器,运行hbase shell命令。

  1. 使用ODB和CSV文件,将数据加载到表。

使用shell解释器,在EsgynDB实例上运行ODB工具。

  1. 运行已加载数据的报告。

使用JDBC解释器,运行SQL查询。