Zeppelin提供了一个交互式开发环境,使用户能够在Web界面中编写代码、运行查询并进行数据可视化分析。本文将介绍如何通过Zeppelin的Livy Interpreter连接Serverless Spark,从而高效构建和优化交互式开发环境。
前提条件
已创建工作空间,详情请参见创建工作空间。
已安装并启动Zeppelin,详情请参见Apache Zeppelin官方文档。
操作流程
步骤一:创建Gateway及访问Token
创建并启动Gateway。
进入Gateway页面。
在左侧导航栏,选择
。在Spark页面,单击目标工作空间名称。
在EMR Serverless Spark页面,单击左侧导航栏中的
。
单击Livy Gateway页签。
在Livy Gateway页面,单击创建Livy Gateway。
在创建Gateway页面,输入名称(例如,Livy-gateway),单击创建。
其余参数请根据具体情况进行调整,更多参数信息请参见管理Gateway。
在Livy Gateway页面,单击已创建Gateway操作列的启动。
创建Token。
在Gateway页面,单击Livy-gateway操作列的Token管理。
单击创建Token。
在创建Token对话框中,输入名称(例如,Livy-token),单击确定。
复制Token信息。
Token创建完成后,请务必立即复制新Token的信息,后续不支持查看。如果您的Token过期或遗失,请选择新建Token或重置Token。
步骤二:配置Zeppelin Livy Interpreter
登录Apache Zeppelin,单击右上方的用户名,从下拉菜单中选择Interpreter。
在页面右上角单击+Create,配置如下参数信息,创建一个新的Interpreter。
参数
说明
参数
说明
Interpreter Name
填写您自定义的名称。例如,mylivy。
Interpreter Group
设置为livy。
在将Interpreter Group设置为livy后,您需要配置如下参数信息。
涉及参数如下表所示。您也可以根据业务需求设置页面中的其他参数,更多关于参数的解释说明,请参见Apache Zeppelin官方文档。
参数
说明
参数
说明
zeppelin.livy.url
Livy的URL,填写格式为
http://{endpoint}
,其中{endpoint}
为您创建的Livy Gateway的Endpoint(内网)信息。zeppelin.livy.session.create_timeout
Zeppelin等待的最大时间(以秒为单位),建议设置为600秒。
zeppelin.livy.http.headers
HTTP请求的自定义头信息。需要单击
图标新增该配置,填写为
x-acs-spark-livy-token:{token}
。其中{token}
为您在Token管理页签创建的Token信息。单击页面下方的Save保存配置。
步骤三:新建Notebook进行操作分析
在页面上方单击Notebook,选择Create new note。
自定义Note Name,并将Default Interpreter选择为上文创建的Interpreter,本文示例为mylivy。
单击Create。
在新建的Notebook中输入以下代码,启动一个Spark Session。
首次启动所需时间为1~3分钟,其中
%pyspark
表示Python环境,%spark
表示Scala环境。%pyspark
Spark Session启动后,可以看到Spark UI的链接,并且可以正常执行代码,支持Python与Scala的混合编写。
在新建的Notebook中输入以下代码,查询当前Spark环境中可用的数据库列表。
%pyspark spark.sql("show databases").show()
返回信息如下图所示。
(可选)查看Session信息。
当您通过Livy创建Spark Session后,该Session的相关信息(例如Session ID、状态等)将显示在列表中。
在Livy Gateway页面,单击目标Gateway的名称。
单击Session 列表页签。
在该页面,您可以查看通过该Livy创建的Spark Session相关信息。
- 本页导读 (1)
- 前提条件
- 操作流程
- 步骤一:创建Gateway及访问Token
- 步骤二:配置Zeppelin Livy Interpreter
- 步骤三:新建Notebook进行操作分析