Zeppelin开发指南
介绍
Zeppelin是一个Web笔记形式的交互式数据查询分析工具,可以在线用多种语言和工具对数据进行查询分析并生成报表。
其默认对数据执行引擎是Spark,同时提供了Hive、HBase、Markdown等多种解释器来支持更多数据源的分析处理,官方支持的解释器如下:
在Zeppelin中以笔记本(notebook)的形式组织和管理交互式数据探索任务,执行引擎的作用就是执行笔记中的与引擎相对应的代码,以进行交互式数据分析和展现。
安装及登陆
目前在uhadoop集群中,zeppelin服务安装在master1节点的/home/hadoop/zeppelin目录,可通过uhadoop-xxxxx-master1:29090访问Zeppelin服务界面。
- 启动: service Zeppelin start
- 重启: service Zeppelin restart
- 服务关闭: service Zeppelin stop
- 状态检查: service Zeppelin status
uhadoop zeppelin不允许匿名用户使用,使用Shiro进行用户权限控制。所有可使用用户和密码信息均存放在/home/hadop/zeppelin/conf/shiro.ini中. 默认配置了一个管理员用户和3个普通用户,管理员可以进行全部操作,普通用户只能基于现有解释器创建notebook, 进行数据查询,无法创建或修改解释器。
用户名 | 密码 | 角色 |
---|---|---|
admin | password1 | 管理员 |
user1 | password2 | 普通用户 |
user2 | password3 | 普通用户 |
user3 | password4 | 普通用户 |
用户打开zeppelin web页面后,点击右上角button进行登陆,需要先用管理员用户登陆,进行解释器相关配置:
管理员配置interpreter:
使用admin用户登陆后,点击右上角的下拉框,选择”Interpreter”,可以看的默认的解释器列表,管理员可以根据已有解释器创建新的解释器(后面在测试hive,mysql等数据源时,需要基于jdbc解释器创建新的解释器)。
Hive 解释器测试
Hive 解释器配置
zeppelin-0.8.1不再提供默认的Hive解释器,只提供了jdbc解释器,用户可以基于jdbc解释器创建专门的Hive解释器。
并修改option为如下的配置:
主要修改的配置为如下几项:
default.driver: org.apache.hive.jdbc.HiveDriver
default.url: jdbc:hive2://uhadoop-xxxxxx-master2:10000 (为集群hive-server2 jdbc地址)
default.user: hive
zeppelin.jdbc.auth.type: simple
Dependencies的artifact增加如下两个(这里选择从集群本地文件读取):
/home/hadoop/hive/jdbc/hive-jdbc-2.3.3-standalone.jar
/home/hadoop/lib/lib/hadoop-common-2.6.0-cdh5.13.3.jar
Hive notebook创建
hive notebooke中创建查询
点击打开上一步创建的/test/hive notebook, 在notebook中创建一个paragraph,输入如下:
%hive show tables
点击右侧的run三角按钮即可执行,并在下方看到输出结果。
一个notebook中可以创建很多个paragraph,将鼠标悬浮在每个paragraph的下端,点击弹出的“Add Paragraph”就可以创建新的paragraph:
这里依次创建了三个paragraph,演示一个table从创建、插入数据、查询数据的过程。
sql:
1. create table test_hive (id int, name string)
2. insert into test_hive values (1,'test_ucl'),(2,'test_hive')
3. select * from test_hive
hbase解释器测试
参考文档:https://zeppelin.apache.org/docs/latest/interpreter/hbase.html
hbase解释器为Zeppelin自带的解释器,不需要再进行解释器的配置,只需在使用时带上”%hbase”便可以进行hbase语句解析
可以为hbase测试建立新的notebook,方法同上,然后创建如下paragraph并执行
paragraph1:
%hbase
create 'test_hbase', 'cf'
paragraph2:
%hbase
list
paragraph3:
%hbase
put 'test_hbase', 'row1', 'cf:a', 'value1'
paragraph4:
%hbase
scan 'test_hbase'
执行结果如下:
spark解释器使用
概述:
参考文档:https://zeppelin.apache.org/docs/latest/interpreter/spark.html
Zeppelin spark解释器组支持如下几种解释器:
Name | Class | Description |
---|---|---|
%spark | SparkInterpreter | Creates a SparkContext and provides a Scala environment |
%spark.pyspark | PySparkInterpreter | Provides a Python environment |
%spark.r | SparkRInterpreter | Provides an R environment with SparkR support |
%spark.sql | SparkSQLInterpreter | Provides a SQL environment |
%spark.dep | DepInterpreter | Dependency loader |