本文為您介紹如何在DSW環境中連接至EMR集群,提交并執行Spark作業,以及通過PySpark實現交互式應用開發。您可以在同一DSW實例中,充分利用EMR的強大計算性能高效處理數據,并無縫銜接至模型開發、訓練和部署階段,感受一體化的大數據與AI融合體驗。
背景信息
數據預處理在機器學習和大語言模型領域中至關重要,但通常耗時且復雜,涵蓋數據清洗、轉換及特征構建等關鍵步驟。因此,DSW與開源大數據平臺EMR合作推出了一站式大數據與AI整合方案。
EMR作為阿里云平臺上的全托管大數據處理服務,集成了Apache Spark,使得用戶能便捷地在云環境搭建、管理和使用Spark集群,并進行大規模數據處理、實時計算、機器學習任務以及圖形處理等。
使用限制
只有以下類型的DSW實例支持連接到EMR集群:
使用公共資源組創建的后付費DSW實例。
僅支持以下類型的EMR集群:
DataLake集群
安裝了Spark3和Hadoop的自定義集群
每個DSW實例最多可以連接一個EMR集群,連接完成后不支持切換到其它集群。
前提條件
操作步驟
在DSW中打開教程文件
進入DSW開發環境。
登錄PAI控制臺。
在頁面左上方,選擇DSW實例所在的地域。
在左側導航欄單擊工作空間列表,在工作空間列表頁面中單擊默認工作空間名稱,進入對應工作空間內。
在左側導航欄,選擇模型開發與訓練>交互式建模(DSW)。
單擊需要打開的實例操作列下的打開,進入DSW實例開發環境。
在Notebook頁簽的Launcher頁面,單擊快速開始區域Tool下的DSW Gallery,打開DSW Gallery頁面。
在DSW Gallery頁面中,搜索大數據和AI一體化:向EMR集群提交Spark作業,單擊在DSW中打開,即可自動將本教程所需的資源和教程文件下載至DSW實例中,并在下載完成后自動打開教程文件。
運行教程文件
在打開的教程文件emr_connect.ipynb中,您可以查看教程內容以及直接運行教程。
在教程文件中單擊運行對應步驟的命令,當成功運行結束一個步驟命令后,再順次運行下個步驟的命令。
本教程包括以下4個運行步驟:
選擇EMR集群
連接指定集群
使用spark-submit提交作業
運行PySpark交互式應用
常見問題
DSW實例重啟后,運行Spark作業報錯,應如何解決?
DSW實例重啟后,需要重新執行選擇EMR集群和連接指定集群,初始化EMR集群的連接信息。
報錯spark-submit: command not found,應如何解決?
執行EMR集群連接操作成功后,需要新建Terminal加載Spark相關的環境參數。可以執行以下命令檢查當前會話中Spark配置是否生效,如果返回為空,說明未生效。
env | grep -i SPARK_HOME
報錯Python in worker has different version * than that in driver *,應如何解決?
該錯誤表示Driver所在客戶端的Python版本與集群Worker節點的Python版本不匹配。
ModuleNotFoundError: No module named ***,應如何解決?
集群中Executor使用的Python環境中沒有安裝PySpark應用中依賴的包,推薦使用spark.archives配置將本地Python環境同步到遠端,或者手動在集群每個Worker節點安裝相關依賴。
創建PySpark內核并初始化完成后,新建Notebook時,下拉列表里沒有PySpark選項,應如何解決?
在Notebook頁簽的工具欄,選擇Kernel>Restart Kernel。