通过Zeppelin Livy Interpreter连接EMR Serverless Spark

更新时间:2025-04-09 09:33:19

Zeppelin提供了一个交互式开发环境,使用户能够在Web界面中编写代码、运行查询并进行数据可视化分析。本文将介绍如何通过ZeppelinLivy Interpreter连接Serverless Spark,从而高效构建和优化交互式开发环境。

前提条件

操作流程

步骤一:创建Gateway及访问Token

  1. 创建并启动Gateway。

    1. 进入Gateway页面。

      1. 登录E-MapReduce控制台

      2. 在左侧导航栏,选择EMR Serverless > Spark

      3. Spark页面,单击目标工作空间名称。

      4. EMR Serverless Spark页面,单击左侧导航栏中的运维中心 > Gateway

    2. 单击Livy Gateway页签。

    3. Livy Gateway页面,单击创建Livy Gateway

    4. 在创建Gateway页面,输入名称(例如,Livy-gateway),单击创建

      其余参数请根据具体情况进行调整,更多参数信息请参见管理Gateway

    5. Livy Gateway页面,单击已创建Gateway操作列的启动

  2. 创建Token。

    1. Gateway页面,单击Livy-gateway操作列的Token管理

    2. 单击创建Token

    3. 创建Token对话框中,输入名称(例如,Livy-token),单击确定

    4. 复制Token信息。

      重要

      Token创建完成后,请务必立即复制新Token的信息,后续不支持查看。如果您的Token过期或遗失,请选择新建Token或重置Token。

步骤二:配置Zeppelin Livy Interpreter

  1. 登录Apache Zeppelin,单击右上方的用户名,从下拉菜单中选择Interpreter

    image

  2. 在页面右上角单击+Create,配置如下参数信息,创建一个新的Interpreter。

    参数

    说明

    参数

    说明

    Interpreter Name

    填写您自定义的名称。例如,mylivy。

    Interpreter Group

    设置为livy

  3. 在将Interpreter Group设置为livy后,您需要配置如下参数信息。

    image

    涉及参数如下表所示。您也可以根据业务需求设置页面中的其他参数,更多关于参数的解释说明,请参见Apache Zeppelin官方文档

    参数

    说明

    参数

    说明

    zeppelin.livy.url

    LivyURL,填写格式为http://{endpoint},其中{endpoint}为您创建的Livy GatewayEndpoint(内网)信息。

    image

    zeppelin.livy.session.create_timeout

    Zeppelin等待的最大时间(以秒为单位),建议设置为600秒。

    zeppelin.livy.http.headers

    HTTP请求的自定义头信息。需要单击image图标新增该配置,填写为x-acs-spark-livy-token:{token}。其中{token}为您在Token管理页签创建的Token信息。

  4. 单击页面下方的Save保存配置。

步骤三:新建Notebook进行操作分析

  1. 在页面上方单击Notebook,选择Create new note

  2. 自定义Note Name,并将Default Interpreter选择为上文创建的Interpreter,本文示例为mylivy。

    image

  3. 单击Create

  4. 在新建的Notebook中输入以下代码,启动一个Spark Session。

    首次启动所需时间为1~3分钟,其中%pyspark表示Python环境,%spark表示Scala环境。

    %pyspark

    Spark Session启动后,可以看到Spark UI的链接,并且可以正常执行代码,支持PythonScala的混合编写。

    image

  5. 在新建的Notebook中输入以下代码,查询当前Spark环境中可用的数据库列表。

    %pyspark
    
    spark.sql("show databases").show()

    返回信息如下图所示。

    image

  6. (可选)查看Session信息。

    当您通过Livy创建Spark Session后,该Session的相关信息(例如Session ID、状态等)将显示在列表中。

    1. Livy Gateway页面,单击目标Gateway的名称。

    2. 单击Session 列表页签。

      在该页面,您可以查看通过该Livy创建的Spark Session相关信息。

      image

  • 本页导读 (1)
  • 前提条件
  • 操作流程
  • 步骤一:创建Gateway及访问Token
  • 步骤二:配置Zeppelin Livy Interpreter
  • 步骤三:新建Notebook进行操作分析