EMR Serverless Spark支持通过Notebook进行交互式开发。本文带您快速体验Notebook的创建、运行等操作。
前提条件
已准备阿里云账号,详情请参见账号注册。
已完成角色授权,详情请参见阿里云账号角色授权。
已创建工作空间和Notebook会话实例,详情请参见创建工作空间和管理Notebook会话。
操作步骤
步骤一:准备测试文件
本快速入门为了带您快速熟悉Notebook任务,为您提供了测试文件,您可以直接下载待后续步骤使用。
单击employee.csv,直接下载测试文件。
employee.csv文件中定义了一个包含员工姓名、部门和薪水的数据列表。
步骤二:上传测试文件
上传数据文件(employee.csv)到阿里云对象存储OSS控制台,详情请参见文件上传。
步骤三:开发并运行Notebook
在EMR Serverless Spark页面,单击左侧的数据开发。
新建Notebook。
在开发目录页签下,单击新建。
在弹出的对话框中,输入名称,类型使用
,然后单击确定。
在右上角选择已创建并启动的Notebook会话实例。
您也可以在下拉列表中选择创建Notebook会话,新建一个Notebook会话实例。关于Notebook会话更多介绍,请参见管理Notebook会话。
说明当前Notebook会话实例同一时间仅支持被单个Notebook占用,如果当前无可用Notebook会话实例,您可以在Notebook会话下拉列表中解绑Notebook与Notebook会话实例,或新建Notebook会话实例。
数据处理与可视化。
运行PySpark作业
拷贝如下代码到新增的Notebook的Python单元格中。
# 创建一个简单的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()
单击运行所有单元格,执行创建的Notebook。
您也可以使用不同的单元格,然后单击单元格前面的图标。
(可选)查看Spark UI。
您可以在会话下拉列表中,将鼠标悬停在当前任务的Notebook会话实例的上,然后单击Spark UI跳转至Spark Jobs页面,可以查看Spark任务的信息。
通过第三方库进行可视化分析
说明Notebook会话已预装matplotlib、numpy、pandas库,如果需要使用其他第三方库,请参见在Notebook中使用Python第三方库。
使用matplotlib库进行数据可视化。
import matplotlib.pyplot as plt l = sc.parallelize(range(20)).collect() plt.plot(l) plt.ylabel('some numbers') plt.show()
单击运行所有单元格,执行创建的Notebook。
您也可以使用不同的单元格,然后单击单元格前面的图标。
步骤四:发布Notebook
运行完成后,单击右上角的发布。
在发布对话框,输入发布信息,然后单击确定,保存为一个版本。