失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Hive on Zeppelin

Hive on Zeppelin

时间:2019-07-30 07:03:59

相关推荐

Hive on Zeppelin

**

Hive on Zeppelin

**

官网:

做大数据的人应该对Hive不陌生,Hive应该是大数据SQL引擎的鼻祖。历经多个版本的改进,现在的Hive3已经具备比较完善的ACID功能,能够同时满足交互式查询和ETL 两种场景。

那怎么来用hive呢 ?如果你还在用beeline来跑hive sql的话,你就弱爆了,来看看强大的Zeppelin能够给你带来什么吧

配置Hive Interpreter

未启用Shiro

未启用kerberos

启用kerberos

启用Shiro

未启用kerberos

启用kerberos

Interpreter 是Zeppelin里最重要的概念,每一种Interpreter对应一个引擎。Hive对应的Interpreter是Jdbc Interpreter, 因为Zeppelin是通过Hive的Jdbc接口来运行Hive SQL。

接下来你可以在Zeppelin的Interpreter页面配置Jdbc Interpreter来启用Hive。首先我想说明的是Zeppelin的Jdbc Interpreter可以支持所有Jdbc协议的数据库,Zeppelin 的Jdbc Interpreter默认是连接Postgresql。

启动Hive,可以有2种选择

修改默认jdbc interpreter的配置项(这种配置下,在Note里用hive可以直接 %jdbc 开头)创建一个新的Jdbc interpreter,命名为hive (这种配置下,在Note里用hive可以直接 %hive 开头)

这里我会选用第2种方法。我会创建一个新的hive interpreter,然后配置以下基本的属性(你需要根据自己的环境做配置)

hive.driver 配置成 org.apache.hive.jdbc.HiveDriver, 因为Zeppelin没有把Hive打包进去,所以默认情况下找不到这个Class的,你需要在这个Interpreter中添加dependency,如下图所示:

hive.url的默认配置形式是 jdbc:hive2://host:port/<db_name>, 这里的host是你的hiveserver2的机器名,port是 hiveserver2的thrift 端口 (如果你的hiveserver2用的是binary模式,那么对应的hive配置是hive.server2.thrift.port (默认是10000),如果是http模式,那么对应的hive配置是hive.server2.thrift.http.port,(默认是10001) 。db_name是你要连的hive 数据库的名字,默认是default

高级功能

看到这边,你可能会说Zeppelin不就是连接hive jdbc来运行sql嘛,也没什么特别的啊。稍安勿躁,接下来我们来看看除了以上基本sql的执行功能,Zeppelin的Jdbc Interpreter还能为Hive做什么:

● Dynamic Forms

● 支持一次运行多条SQL语句

● 支持并发运行多条SQL语句

● 展示Hive Job运行过程log

● 关联Job URL

● Rest API 运行 Hive SQL

Dynamic Forms

Dynamic Forms 是Zeppelin的一个高级功能,允许用户在代码中插入UI控件来允许用户定制化你的代码。Jdbc Interpreter支持这一功能,用户可以定制SQL,下面是一个下拉框的例子。

Zeppelin也支持文本框,Checkbox,具体可以参考 /docs/0.8.0/usage/dynamic_form/intro.html

支持一次运行多条SQL语句

默认情况下,Zeppelin支持在一个Paragraph中按顺序运行多条SQL语句。每条SQL语句以分号隔开,如下图

支持并发运行多条SQL语句

默认情况下,Jdbc Interpreter能够允许同时运行多条SQL语句(运行多个Hive Job),你可以修改以下配置来调整。

展示Hive Job运行过程log

在最新版本的Zeppelin中可以展示Hive Job的运行过程log,和你在beeline里看到的一样。如下图所示:

如果你不想看到log,那么有2种方式

● 设置hive interpreter的属性 hive.log.display 为false,这样所有的paragraph都不会展示log

● 设置paragraph的local property:displayLog=false来控制每个paragraph的log输出,如下图:

关联Job URL

如果你是用MR引擎,那么Zeppelin还帮你自动关联到对应MR Job URL。

如果觉得《Hive on Zeppelin》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。