介绍
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.您应该可以看到欢迎页面,状态应显示为已连接。
6.首先,配置JDBC解释器,连接到Trafodion/EsgynDB。单击菜单中的Interpreter。
7.单击Create。
8.根据显示的内容,填写详细信息。单击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
9.通过Notebook -> Create new note菜单,创建一个新的notebook。
10.选择新创建的notebook。
11.单击notebook右上角的Interpreter Binding图标。
12.选择您添加的新Trafodion解释器,拖动到解释器列表的顶部,单击Save。
13.输入一个sql命令(例如,get schemas),单击Run。您应该可以看见您的Trafodion/EsgynDB数据库所有可用的schema列表。
14.如果执行失败,出现连接错误或套接字错误:
- 查看HBase和Trafodion/EsgynDB是否正常启动并运行。
- 查看用户名和密码是否正确。
- 如果解释器超时一段时间,可能出现套接字连接错误。重启解释器,修复该错误。
15.如果依然存在异常,您可以检查zeppeliln的log文件夹中的zeppelin server和jdbc解释器的日志消息。
注意:
在默认情况下,如果没有执行查询(或Zeppelin UI闲置),解释器会关闭与数据库的连接。再次运
行查询之前,请重启解释器。
示例DDL/获取/报告工作流
您可以使用一系列段落,在Zeppelin中创建工作流,每个段落分别负责执行您工作流中的一个步骤。下例使用SQL DDL语句创建一个新表,然后加载数据,最后运行一个已加载数据的报告。这些步骤分别使用notebook中的不同段落。
1.创建目标Trafodion表。
使用JDBC解释器运行CREATE DDL语句。
2.使用HBase Shell命令,查看表的HBase属性。
使用shell解释器,运行hbase shell命令。
3.使用ODB和CSV文件,将数据加载到表。
使用shell解释器,在EsgynDB实例上运行ODB工具。
4.运行已加载数据的报告。
使用JDBC解释器,运行SQL查询。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。