全部產品
Search
文件中心

E-MapReduce:SQL開發快速入門

更新時間:Sep 24, 2024

EMR Serverless Spark支援通過SQL代碼編輯和運行任務。本文帶您快速體驗SQL的建立、啟動和營運等操作。

前提條件

步驟一:建立並發布開發工作單位

重要

任務必須先發布,然後才能在任務編排過程中使用。

  1. 進入資料開發頁面。

    1. 登入E-MapReduce控制台

    2. 在左側導覽列,選擇EMR Serverless > Spark

    3. Spark頁面,單擊目標工作空間名稱。

    4. 在EMR Serverless Spark頁面,單擊左側導覽列中的資料開發

  2. 建立users_task任務。

    1. 開發目錄頁簽下,單擊建立

    2. 建立對話方塊中,輸入名稱(例如users_task),類型使用預設的SparkSQL,然後單擊確定

    3. 拷貝如下代碼到新增的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。

    4. 在資料庫下拉式清單中選擇一個資料庫,在會話下拉式清單中選擇一個已啟動的會話執行個體。

      您也可以在下拉式清單中選擇建立SQL會話,直接建立一個新的會話執行個體。會話管理更多介紹,請參見管理SQL會話

    5. 單擊運行,執行建立的任務。

      返回結果資訊可以在下方的運行結果中查看。如果有異常,則可以在運行問題中查看。

  3. 發布users_task任務。

    說明

    任務指定的參數會伴隨任務一起發布,並成為產線運行任務時使用的參數;而在SQL編輯器中執行的任務則使用會話中的參數。

    1. 在新增的Spark SQL頁簽中,單擊發布

    2. 在彈出的對話方塊中,可以輸入發布資訊,然後單擊確定

  4. 建立users_count任務。

    1. 開發目錄頁簽下,單擊建立

    2. 建立對話方塊中,輸入名稱(例如users_count),類型使用預設的SparkSQL,單擊確定

    3. 拷貝如下代碼到新增的Spark SQL任務頁簽(users_count)中。

      SELECT COUNT(1) FROM students;
    4. 在資料庫下拉式清單中選擇一個資料庫,在會話下拉式清單中選擇一個已啟動的會話執行個體。

      您也可以在下拉式清單中選擇建立SQL會話,直接建立一個新的會話執行個體。會話管理更多介紹,請參見管理SQL會話

    5. 單擊運行,執行建立的任務。

      返回結果資訊可以在下方的運行結果中查看。如果有異常,則可以在運行問題中查看。

  5. 發布users_count任務。

    說明

    任務指定的參數會伴隨任務一起發布,並成為產線運行任務時使用的參數;而在SQL編輯器中執行的任務則使用會話中的參數。

    1. 在新增的Spark SQL任務頁簽中,單擊發布

    2. 在彈出的對話方塊中,可以輸入發布資訊,然後單擊確定

步驟二:建立工作流程及其節點

  1. 在左側導覽列中,單擊任務編排

  2. 任務編排頁面,單擊建立工作流程

  3. 建立工作流程面板中,輸入工作流程名稱(例如,spark_workflow_task),然後單擊下一步

    其他設定地區的參數,請根據您的實際情況配置,更多參數資訊請參見管理工作流程

  4. 添加users_task節點。

    1. 在建立的節點畫布中,單擊添加節點

    2. 彈出添加節點面板,在來源檔案路徑下拉式清單中選擇發行的任務users_task,然後單擊儲存

  5. 添加users_count節點。

    1. 單擊添加節點

    2. 彈出添加節點面板,在來源檔案路徑下拉式清單中選擇發行的任務users_count,在上遊節點下拉式清單中選擇users_task,單擊儲存

  6. 在建立的節點畫布中,單擊發布工作流程

    image

  7. 發布對話方塊中,可以輸入發布資訊,然後單擊確定

步驟三:運行工作流程

  1. 任務編排頁面,單擊建立工作流程(例如,spark_workflow_task)的工作流程名稱

  2. 工作流程執行個體列表頁面,單擊手動運行

    說明

    在配置了調度周期後,您也可以在任務編排頁面通過左側的開關按鈕啟動調度。

  3. 觸發運行對話方塊中,單擊確定

步驟四:查看執行個體狀態

  1. 任務編排頁面,單擊目標工作流程名稱(例如,spark_workflow_task)。

  2. 工作流程執行個體列表頁面,您可以查看對應的所有工作流程執行個體,以及各工作流程執行個體的已耗用時間、運行狀態等。

    image.png

  3. 單擊工作流程執行個體列表地區的工作流程運行ID,或單擊上方的工作流程執行個體圖頁簽,可以查看對應的工作流程執行個體圖。

  4. 單擊目標節點執行個體,在彈出的節點資訊框中,您可以根據需要操作或查看資訊。

    關於此部分內容的相關操作及詳細介紹,請參見查看節點執行個體

    image.png

    例如,單擊Spark UI跳轉至Spark Jobs頁面,可以查看Spark任務的即時資訊。

    image

  5. 單擊任務運行ID,進入任務歷史頁面,可以查看指標、診斷和日誌資訊。

    image

步驟五:工作流程營運

任務編排頁面,單擊目標工作流程名稱,進入工作流程執行個體列表頁面。您可以:

  • 工作流程資訊地區,可以編輯部分參數。

  • 工作流程執行個體列表地區,可以查看所有工作流程。單擊工作流程運行ID,可以進入工作流程執行個體圖頁面。

    image.png

步驟六:查看資料

  1. 在左側導覽列中,單擊資料開發

  2. 建立SparkSQL開發,然後輸入並運行以下命令查看錶的詳細資料。

    SELECT * FROM students;

    返回資訊如下所示。

    image.png

相關文檔