
这是我想深入研究 Apache Zeppelin 所做的一个尝试,毕竟如果想要了解内在的原理,有必要先将它暴露出来的功能都摸透,自己写一个 Zeppelin 解释器对于理解其它的解释器也非常有帮助,其实 官方文档 中已经给出了具体的方法,本文就是我 follow 官方文档的一次实践(虽然步骤并不完全一样),如果你也对 Zeppelin 感兴趣,就赶快和我一起来写吧。
内容提要 :
*** 作系统:不限
JDK:1.8 以上
IDE:IntelliJ IDEA,并安装了 maven 插件
Zeppelin 版本:0.8.2,安装文档可以参考: 如何安装启动Apache Zeppelin
因为我的目的只是了解相关的原理,所以只需要写一个“五脏俱全”的傻瓜解释器就行,所以我要写的解释器功能很简单, 在用户的输入前加上调用次数和“hello”作为输出返回给用户 ,大概效果如下:
在 IDEA 中新建一个 maven 项目,项目名为 my-zeppelin-interpreter ,然后修改 pom.xml :
截图如下:
然后新建一个 Class,名为 com.iamabug.DummyInterpreter ,让它继承自 org.apache.zeppelin.interpreter.Interpreter ,这时因为继承了一个抽象类,IDEA 会提示有错, 使用快捷键 Alt + Enter 直接生成构造函数以及和需要重写的方法 ,共有 6 个方法:
我编写的解释器类 DummyInterpreter 如下所示:
安装分为以下几步:
使用 bin/zeppelin-daemon.sh restart 重启 Zeppelin,然后打开浏览器,点击右上角的 anonymous 菜单,选择 Interpreter 子菜单,然后在新页面中点击右上角的 Create 按钮,出现如下页面:
在 Interpreter Name 中输入 dummy ,点击 Interpreter group 下拉菜单,选择 dummy ,如下图所示:
可以看到在配置文件里的两个配置项 properties1 和 properties2 ,点击蓝色的 Save 按钮。
回到首页,创建一个新的 note,选择默认解释器为 dummy ,如下图所示:
(激动人心的时刻来了!)
在打开的笔记本中随意输入字符,然后运行,运行截图:
和预期的效果完全一致 。注意,因为 dummy 是默认解释器,所以加不加 %dummy 都可以。
这次实验算是达到了预期,中途遇到的问题有:
希望本文对你有用。
欢迎交流讨论,吐槽建议,分享收藏。
勤学似春起之苗,不见其增,日有所长
辍学如磨刀之石,不见其损,日有所亏
关注【大数据学徒】,用技术干货助你日有所长
有时可能会出现一种情况,你必须刷新/重启你的Zeppelin解释器。这可能是由于内存不足(OOM)或释放了相关解释程序正在使用的一些不需要的资源。当这种情况发生时,你可以通过以下方式重启Zeppelin解释器:
单击齿轮图标
重新启动所需的解释器
单击保存
这将刷新你想要刷新的解释器。
刷新一个解释器也可能导致其他解释器不可用。因此,如果你想在笔记本中重用它们,也必须刷新它们。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)