使用Zeppelin代替spark-shell

    xiaoxiao2025-09-23  39

    部署

    把下载的bin-all.tgz上传到服务器,解压放到自己常用的目录下。为了使用spark.read.jdbc功能,需要上传一份mysql connector jar到lib/interpreter下,否则spark执行会报错。

    启动

    使用bin/zeppelin-daemon.sh start启动后台服务然后使用bin/zeppelin.sh启动web端这样在服务器的8080端口就可以看见应用界面

    设置

    我们需要设置到spark的连接,通过右上方的下拉菜单“Interpreter”进入适配器管理界面,设置好到spark集群的连接,然后把这个适配器重启一下。

    使用

    通过“Create new note”建立一个便签,便签的执行单位是段,每段的右上角都有执行、展示隐藏代码、展示隐藏输出,更多操作的工具条。这里每段的代码就和写在spark-shell里面的一样。最后输出的时候需要注意,为了使用zeppelin的数据可视化功能,推荐以table形式输出,同时组织好输出数据的关系,以便直接展示。现在数据可视化的功能还不是太强大,只可以在settings里面调整数据展示的逻辑。最后效果展示,这是某系统中各个地点的重量级别发生次数的分布图。图示略有交互性,可以选择展示的和隐藏的groups,通过图示上方的小圆圈选中与否控制,为了保护数据隐私,这里不作展示。

    安全

    zeppelin默认任何人都可以访问,这样太不安全了,所以需要加上一点保障,一方面是用户登录权限,一方面是文档的读写权限。官方的说明页面在此:登录权限,文档权限首先在zeppelin/conf目录下,把zeppelin-site.xml.template复制成zeppelin-site.xml,把shiro.ini.template复制成shiro.ini。修改zeppelin-site.xml,把zeppelin.anonymous.allowed的值改成false保存退出。然后修改shiro.ini。在[users]段中,按照登录名=密码,角色1,角色2,...角色N的格式添加登录账户,保存退出。终端里面执行脚本,重启后台服务:zeppelin-daemon.sh restart然后刷新网页就可以看到需要登录了。文档的权限是进入zeppeline后在文档的编辑界面上设置的,参见官方文档的图示,非常简单。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)