apache zeppelin入门
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache zeppelin入门相关的知识,希望对你有一定的参考价值。
参考技术A Apache Zeppelin是一款基于Web的NoteBook,支持交互式数据分析。使用Zeppelin,可以使用丰富的预构建语言后端(或解释器)制作精美的数据驱动,交互式和协作文档,例如Scala(使用Apache Spark),Python(使用Apache Spark),SparkSQL,Hive ,Markdown,Angular和Shell。
Zeppelin专注于企业,具有以下重要功能:
本文用用在于完成Zeppelin的基本功能介绍,以便可以创建自己的数据分析应用程序或导入现有的Zeppelin笔记本; 此外,将学习Zeppelin的高级功能,如创建和绑定解释器,以及导入外部库
本文是将在未来的Spark教程中使用的基础知识,涵盖了重要的主题,如创建notebook,导入和扩展现有notebook,以及将不同的后端绑定到环境,以便可以使Zeppelin充分发挥它的潜力
有两种方法可以访问 Hdp 环境中的 Zeppelin, 第一种是通过 Amabari的 Quick Links *, 第二种方法是通过导航到您的浏览器上的Zeppelin的专用端口。
使用amy_ds/amy_ds作为用户名/密码组合登录Ambari(操作控制台)。
可能希望导入现有note book,而不是创建新note book。
导入Zeppelin笔记本有两种方法,可以通过指向环境本地的json notebook,也可以通过提供一个url到其他地方托管的原始文件,例如在github上。接下来将介绍导入这些文件的两种方式。
1.导入JSON文件
在Zeppelin UI上单击“导入”。
接下来,单击“ 选择JSON文件”按钮
最后,选择要导入的笔记本,然后单击“ 打开”。
2.使用URL导入Notebook
在导入时,选择 Add from URL
最后,将url粘贴到(原始)json文件,然后单击Import Note。
如果想删除笔记本,可以转到Zeppelin欢迎页面。在notebook下面的页面左侧,将看到各种选项,例如导入笔记,创建新笔记,过滤框,在过滤框下方,可以在其中找到创建或导入的笔记本。
介绍如何安装Zeppelin解释器以在Zeppelin UI中使用。请注意支持的解释器,以确保要安装想要的解释器。
安装完毕后,重新启动Zeppelin
Zeppelin notebook 支持各种解释器,允许对数据执行许多操作。这些是将在我们各种Spark教程中使用的一些解释器。
请注意每个解释器开头的%。每个段落都需要以%开头,后跟解释器名称。下图显示了三个解释器,Markdown,Spark和Shell
1.单击位于Zeppelin欢迎页面右侧的匿名
2.在下拉列表中选择Interpreter
3.在Interpreters页面的右上角,将看到Create,单击它,这将打开Create new interpreter选项。我们将使用shell解释器作为示例。
要绑定刚刚创建的解释器,需要重新打开要绑定新解释器的笔记本。
1.单击Zeppelin笔记本右上角的齿轮。请注意,当单击该齿轮时,它会显示解释器绑定设置部分出现,你可以看到新创建的解释,在我们的情况下,命令解释程序SH。
2.单击解释器,它将从白色变为蓝色。
3.单击“保存”
新shell解释器已准备好投入使用。
在探索Zeppelin时,可能希望使用一个或多个外部库。例如,要运行Magellan,需要导入其依赖项; 需要在您的环境中包含Magellan库。在Zeppelin笔记本中有三种方法可以包含外部依赖:
1.使用%dep解释器(注意:这仅适用于发布到Maven的库。)
2.使用%spark2解释器
3.使用import语句
apache zeppelin 上的 zeppelin_ipyspark.py 获取 SyntaxError:无效语法
【中文标题】apache zeppelin 上的 zeppelin_ipyspark.py 获取 SyntaxError:无效语法【英文标题】:zeppelin_ipyspark.py at apache zeppelin get SyntaxError: invalid syntax 【发布时间】:2019-10-12 10:06:24 【问题描述】:当我在 apache zeppelin 0.8.1 中使用 pyspark 运行代码时,出现类似
的错误java.lang.NullPointerException
at org.apache.thrift.transport.TSocket.open(TSocket.java:170)
at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:51)
...
所以我打开了我文件夹中的所有文件 zeppelin
我尝试使用 cmd 在D:\zeppelin-0.8.1-bin-all\interpreter\spark\python
运行文件zeppelin_ipyspark.py
我得到错误
D:\zeppelin-0.8.1-bin-all\interpreter\spark\python>zeppelin_ipyspark.py
File "D:\zeppelin-0.8.1-bin-all\interpreter\spark\python\zeppelin_ipyspark.py", line 29
port=$JVM_GATEWAY_PORT, auth_token=gateway_secret, auto_convert=True))
^
SyntaxError: invalid syntax
那么你能帮帮我吗?
【问题讨论】:
检查第 29 行是否所有圆括号都正确关闭 【参考方案1】:@LSS zeppelin_ipyspark.py
不是独立脚本。
它作为 Ipython 解释器的一部分从 Zeppelin 的 java 代码内部调用,其中处理 python 脚本以用实际值替换这些字符串(如 JVM_GATEWAY_PORT 等)。
可以查看代码参考:1,2
【讨论】:
以上是关于apache zeppelin入门的主要内容,如果未能解决你的问题,请参考以下文章
Apache zeppelin - 带有角度和 zeppelin 解释器的变量范围
apache zeppelin 上的 zeppelin_ipyspark.py 获取 SyntaxError:无效语法
在 Apache Livy Interpreter for Zeppelin 中访问 zeppelin 上下文的问题