Notebook开发快速入门

更新时间:
复制 MD 格式

EMR Serverless Spark支持通过Notebook进行交互式开发。本文带您快速体验Notebook的创建、运行等操作。

前提条件

操作步骤

步骤一:准备测试文件

本快速入门为了带您快速熟悉Notebook任务,为您提供了测试文件,您可以直接下载待后续步骤使用。

单击employee.csv,直接下载测试文件。

说明

employee.csv文件中定义了一个包含员工姓名、部门和薪水的数据列表。

步骤二:上传测试文件

上传数据文件(employee.csv)到阿里云对象存储OSS控制台,详情请参见文件上传

步骤三:开发并运行Notebook

  1. EMR Serverless Spark页面,单击左侧的数据开发

  2. 新建Notebook。

    1. 开发目录页签下,单击image图标。

    2. 在弹出的对话框中,输入名称,类型使用交互式开发 > Notebook,然后单击确定

  3. 在右上角选择已创建并启动的Notebook会话实例。

    您也可以在下拉列表中选择创建 Notebook 会话,新建一个Notebook会话实例。关于Notebook会话更多介绍,请参见管理Notebook会话

    说明

    当前支持多个Notebook共用同一个Notebook会话实例。这意味着您可以同时在多个Notebook中访问和操作相同的会话资源,而无需为每个Notebook单独创建新的会话实例。

  4. 数据处理与可视化。

    运行PySpark作业

    1. 拷贝如下代码到新增的NotebookPython单元格中。

      # 创建一个简单的DataFrame,其中OSS路径需要替换为步骤二中上传的文件路径。
      df = spark.read.option("delimiter", ",").option("header", True).csv("oss://path/to/file")
      # 显示DataFrame的前几行
      df.show(5)
      # 执行一个简单的聚合操作:计算每个部门的总薪资
      sum_salary_per_department = df.groupBy("department").agg({"salary": "sum"}).show()
    2. 单击运行所有单元格,执行创建的Notebook。

      您也可以使用不同的单元格,然后单击单元格前面的image图标。

      # 创建一个简单的DataFrame,其中OSS路径需要替换为步骤二中上传的文件路径。
      df = spark.read.option("delimiter", ",").option("header", True).csv("oss://<yourBucketName>/<path>/employee.csv")
      # 显示DataFrame的前几行
      df.show(5)
      +-------------+----------+------+
      |employee_name|department|salary|
      +-------------+----------+------+
      |        James|     Sales|  3000|
      |      Michael|     Sales|  4600|
      |       Robert| Marketing|  4100|
      |        Maria|   Finance|  3000|
      |        James|     Sales|  3000|
      +-------------+----------+------+
      only showing top 5 rows
      # 执行一个简单的聚合操作: 计算每个部门的总薪资
      sum_salary_per_department = df.groupBy("department").agg({"salary": "sum"}).show()
      +----------+-----------+
      |department|sum(salary)|
      +----------+-----------+
      |     Sales|    12600.0|
      |   Finance|     6900.0|
      | Marketing|    10400.0|
      +----------+-----------+
    3. (可选)查看Spark UI。

      您可以在会话下拉列表中,将鼠标悬停在当前任务的Notebook会话实例的image上,然后单击Spark UI跳转至Spark Jobs页面,可以查看Spark任务的信息。

    通过第三方库进行可视化分析

    说明

    Notebook会话已预装matplotlib、numpy、pandas库,如果需要使用其他第三方库,请参见Notebook中使用Python第三方库

    1. 使用matplotlib库进行数据可视化。

      import matplotlib.pyplot as plt
      l = sc.parallelize(range(20)).collect()
      plt.plot(l)
      plt.ylabel('some numbers')
      plt.show()
    2. 单击运行所有单元格,执行创建的Notebook。

      您也可以使用不同的单元格,然后单击单元格前面的image图标。

      pip install matplotlib

      安装输出:

      Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple
      Collecting matplotlib
      import matplotlib.pyplot as plt
      l = sc.parallelize(range(20)).collect()
      plt.plot(l)
      plt.ylabel('some numbers')
      plt.show()

      执行后输出一幅折线图,X 轴和 Y 轴范围均为 0.0~17.5,曲线为从左下到右上的线性直线,Y 轴标签为 some numbers。

步骤四:发布Notebook

  1. 运行完成后,单击右上角的发布

  2. 在发布对话框,输入发布信息,然后单击确定,保存为一个版本。