EMR Serverless Spark支援通過SQL代碼編輯和運行任務。本文帶您快速體驗SQL的建立、啟動和營運等操作。
前提條件
已準備阿里雲帳號,詳情請參見帳號註冊。
步驟一:建立並發布開發工作單位
任務必須先發布,然後才能在任務編排過程中使用。
進入資料開發頁面。
在左側導覽列,選擇
。在Spark頁面,單擊目標工作空間名稱。
在EMR Serverless Spark頁面,單擊左側導覽列中的資料開發。
建立users_task任務。
在開發目錄頁簽下,單擊建立。
在建立對話方塊中,輸入名稱(例如users_task),類型使用預設的SparkSQL,然後單擊確定。
拷貝如下代碼到新增的Spark SQL頁簽(users_task)中。
CREATE TABLE IF NOT EXISTS students ( name VARCHAR(64), address VARCHAR(64) ) USING PARQUET PARTITIONED BY (data_date STRING); INSERT OVERWRITE TABLE students PARTITION (data_date = '${ds}') VALUES ('Ashua Hill', '456 Erica Ct, Cupertino'), ('Brian Reed', '723 Kern Ave, Palo Alto');
目前支援以下基礎日期變數,預設為昨天。
變數
資料類型
說明
{data_date}
str
表示日期資訊的變數,格式為
YYYY-MM-DD
。例如,2023-09-18。
{ds}
str
{dt}
str
{data_date_nodash}
str
表示日期資訊的變數,格式為
YYYYMMDD
。例如,20230918。
{ds_nodash}
str
{dt_nodash}
str
{ts}
str
表示時間戳記,格式為
YYYY-MM-DDTHH:MM:SS
。例如,2023-09-18T16:07:43。
{ts_nodash}
str
表示時間戳記,格式為
YYYYMMDDHHMMSS
。例如,20230918160743。
在資料庫下拉式清單中選擇一個資料庫,在會話下拉式清單中選擇一個已啟動的會話執行個體。
您也可以在下拉式清單中選擇建立SQL會話,直接建立一個新的會話執行個體。會話管理更多介紹,請參見管理SQL會話。
單擊運行,執行建立的任務。
返回結果資訊可以在下方的運行結果中查看。如果有異常,則可以在運行問題中查看。
發布users_task任務。
說明任務指定的參數會伴隨任務一起發布,並成為產線運行任務時使用的參數;而在SQL編輯器中執行的任務則使用會話中的參數。
在新增的Spark SQL頁簽中,單擊發布。
在彈出的對話方塊中,可以輸入發布資訊,然後單擊確定。
建立users_count任務。
在開發目錄頁簽下,單擊建立 。
在建立對話方塊中,輸入名稱(例如users_count),類型使用預設的SparkSQL,單擊確定。
拷貝如下代碼到新增的Spark SQL任務頁簽(users_count)中。
SELECT COUNT(1) FROM students;
在資料庫下拉式清單中選擇一個資料庫,在會話下拉式清單中選擇一個已啟動的會話執行個體。
您也可以在下拉式清單中選擇建立SQL會話,直接建立一個新的會話執行個體。會話管理更多介紹,請參見管理SQL會話。
單擊運行,執行建立的任務。
返回結果資訊可以在下方的運行結果中查看。如果有異常,則可以在運行問題中查看。
發布users_count任務。
說明任務指定的參數會伴隨任務一起發布,並成為產線運行任務時使用的參數;而在SQL編輯器中執行的任務則使用會話中的參數。
在新增的Spark SQL任務頁簽中,單擊發布。
在彈出的對話方塊中,可以輸入發布資訊,然後單擊確定。
步驟二:建立工作流程及其節點
在左側導覽列中,單擊任務編排。
在任務編排頁面,單擊建立工作流程。
在建立工作流程面板中,輸入工作流程名稱(例如,spark_workflow_task),然後單擊下一步。
其他設定地區的參數,請根據您的實際情況配置,更多參數資訊請參見管理工作流程。
添加users_task節點。
在建立的節點畫布中,單擊添加節點。
彈出添加節點面板,在來源檔案路徑下拉式清單中選擇發行的任務users_task,然後單擊儲存。
添加users_count節點。
單擊添加節點。
彈出添加節點面板,在來源檔案路徑下拉式清單中選擇發行的任務users_count,在上遊節點下拉式清單中選擇users_task,單擊儲存。
在建立的節點畫布中,單擊發布工作流程。
在發布對話方塊中,可以輸入發布資訊,然後單擊確定。
步驟三:運行工作流程
在任務編排頁面,單擊建立工作流程(例如,spark_workflow_task)的工作流程名稱。
在工作流程執行個體列表頁面,單擊手動運行。
說明在配置了調度周期後,您也可以在任務編排頁面通過左側的開關按鈕啟動調度。
在觸發運行對話方塊中,單擊確定。
步驟四:查看執行個體狀態
在任務編排頁面,單擊目標工作流程名稱(例如,spark_workflow_task)。
在工作流程執行個體列表頁面,您可以查看對應的所有工作流程執行個體,以及各工作流程執行個體的已耗用時間、運行狀態等。
單擊工作流程執行個體列表地區的工作流程運行ID,或單擊上方的工作流程執行個體圖頁簽,可以查看對應的工作流程執行個體圖。
單擊目標節點執行個體,在彈出的節點資訊框中,您可以根據需要操作或查看資訊。
關於此部分內容的相關操作及詳細介紹,請參見查看節點執行個體。
例如,單擊Spark UI跳轉至Spark Jobs頁面,可以查看Spark任務的即時資訊。
單擊任務運行ID,進入任務歷史頁面,可以查看指標、診斷和日誌資訊。
步驟五:工作流程營運
在任務編排頁面,單擊目標工作流程名稱,進入工作流程執行個體列表頁面。您可以:
在工作流程資訊地區,可以編輯部分參數。
在工作流程執行個體列表地區,可以查看所有工作流程。單擊工作流程運行ID,可以進入工作流程執行個體圖頁面。
步驟六:查看資料
在左側導覽列中,單擊資料開發。
建立SparkSQL開發,然後輸入並運行以下命令查看錶的詳細資料。
SELECT * FROM students;
返回資訊如下所示。