Notebook開發(fā)快速入門
EMR Serverless Spark支持通過Notebook進行交互式開發(fā)。本文帶您快速體驗Notebook的創(chuàng)建、運行等操作。
前提條件
已準(zhǔn)備阿里云賬號,詳情請參見賬號注冊。
已完成角色授權(quán),詳情請參見阿里云賬號角色授權(quán)。
已創(chuàng)建工作空間和Notebook會話實例,詳情請參見創(chuàng)建工作空間和管理Notebook會話。
操作步驟
步驟一:準(zhǔn)備測試文件
本快速入門為了帶您快速熟悉Notebook任務(wù),為您提供了測試文件,您可以直接下載待后續(xù)步驟使用。
單擊employee.csv,直接下載測試文件。
employee.csv文件中定義了一個包含員工姓名、部門和薪水的數(shù)據(jù)列表。
步驟二:上傳測試文件
上傳數(shù)據(jù)文件(employee.csv)到阿里云對象存儲OSS控制臺,詳情請參見文件上傳。
步驟三:開發(fā)并運行Notebook
在EMR Serverless Spark頁面,單擊左側(cè)的數(shù)據(jù)開發(fā)。
新建Notebook。
在開發(fā)目錄頁簽下,單擊新建。
在彈出的對話框中,輸入名稱,類型使用
,然后單擊確定。
在右上角選擇已創(chuàng)建并啟動的Notebook會話實例。
您也可以在下拉列表中選擇創(chuàng)建Notebook會話,新建一個Notebook會話實例。關(guān)于Notebook會話更多介紹,請參見管理Notebook會話。
說明當(dāng)前Notebook會話實例同一時間僅支持被單個Notebook占用,如果當(dāng)前無可用Notebook會話實例,您可以在Notebook會話下拉列表中解綁Notebook與Notebook會話實例,或新建Notebook會話實例。
數(shù)據(jù)處理與可視化。
運行PySpark作業(yè)
拷貝如下代碼到新增的Notebook的Python單元格中。
# 創(chuàng)建一個簡單的DataFrame,其中OSS路徑需要替換為步驟二中上傳的文件路徑。 df = spark.read.option("delimiter", ",").option("header", True).csv("oss://path/to/file") # 顯示DataFrame的前幾行 df.show(5) # 執(zhí)行一個簡單的聚合操作:計算每個部門的總薪資 sum_salary_per_department = df.groupBy("department").agg({"salary": "sum"}).show()
單擊運行所有單元格,執(zhí)行創(chuàng)建的Notebook。
您也可以使用不同的單元格,然后單擊單元格前面的圖標(biāo)。
(可選)查看Spark UI。
您可以在會話下拉列表中,將鼠標(biāo)懸停在當(dāng)前任務(wù)的Notebook會話實例的上,然后單擊Spark UI跳轉(zhuǎn)至Spark Jobs頁面,可以查看Spark任務(wù)的信息。
通過第三方庫進行可視化分析
說明Notebook會話已預(yù)裝matplotlib、numpy、pandas庫,如果需要使用其他第三方庫,請參見在Notebook中使用Python第三方庫。
使用matplotlib庫進行數(shù)據(jù)可視化。
import matplotlib.pyplot as plt l = sc.parallelize(range(20)).collect() plt.plot(l) plt.ylabel('some numbers') plt.show()
單擊運行所有單元格,執(zhí)行創(chuàng)建的Notebook。
您也可以使用不同的單元格,然后單擊單元格前面的圖標(biāo)。
步驟四:發(fā)布Notebook
運行完成后,單擊右上角的發(fā)布。
在發(fā)布對話框,輸入發(fā)布信息,然后單擊確定,保存為一個版本。