全部產品
Search
文件中心

AnalyticDB:通過DataWorks使用Spark Distribution SQL Engine

更新時間:Aug 31, 2024

若您需要在DataWorks中開發Spark SQL作業,可以通過註冊CDH叢集的方式,將的Spark Distribution SQL Engine服務註冊為一種支援SQL的執行引擎,從而滿足您在DataWorks中使用Spark Distribution SQL Engine開發Spark SQL作業的業務需求。

前提條件

  • AnalyticDB for MySQL叢集的產品系列為湖倉版

  • 已在AnalyticDB for MySQL叢集中建立Job型資源群組。具體操作,請參見建立資源群組

  • 已建立AnalyticDB for MySQL叢集的資料庫帳號。

  • 已建立DataWorks工作空間。具體操作,請參見建立工作空間

  • 已購買DataWorks新版通用型資源群組(推薦)或舊版獨享調度資源群組。

    DataWorks資源群組購買後,預設與其他雲產品網路不連通。在對接使用CDH時,需先保障CDH叢集和資源群組間網路連通,才可進行後續相關操作。

    說明
    • (推薦)新版資源群組為通用型資源群組,可滿足多種任務類型(例如,資料同步、任務調度)的情境應用,購買詳情請參見新增和使用Serverless資源群組。新使用者(即在當前地區未開通過任意版本DataWorks的使用者)僅支援購買新版資源群組。

    • 若您已購買過舊版獨享調度資源群組,也可使用該資源群組運行CDH或CDP任務。詳情請參見使用獨享調度資源群組

背景資訊

DataWorks提供了與CDH(Cloudera’s Distribution Including Apache Hadoop,以下簡稱CDH)叢集對接的能力,您可在DataWorks中註冊CDH叢集,進行任務開發、調度、資料地圖(中繼資料管理)和資料品質等一系列的資料開發和治理操作。Spark Distribution SQL Engine是Spark內建的分布式SQL執行引擎,您可以在DataWorks中以註冊CDH叢集的方式,將Spark Distribution SQL Engine註冊為支援SQL的一種執行引擎,從而能夠在DataWorks中通過Spark Distribution SQL Engine來執行SQL。

AnalyticDB for MySQL叢集支援啟動多個Spark Distribution SQL Engine,因此您也可以根據自己需求啟動不同配置的Spark Distribution SQL Engine並託管到DataWorks,以滿足不同的業務需求。

操作步驟

步驟一:啟動Spark Distribution SQL Engine

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,在湖倉版頁簽下,單擊目的地組群ID。

  2. 在左側導覽列,單擊作業開發 > Spark Jar開發

  3. 在編輯器視窗上方,選擇Job型資源群組,作業類型選擇SQLEngine

  4. 在編輯器中輸入以下作業內容。

    重要

    DataWorks不支援攜帶使用者名稱和密碼的Spark Distribution SQL Engine,因此在啟動Spark Distribution SQL Engine時請勿配置spark.kubernetes.driverEnv.HIVE_SERVER2_USERspark.kubernetes.driverEnv.HIVE_SERVER2_PASSWORD參數。

    -- Here is just an example of start Spark SQLEngine. Modify the content and run your spark program.
    CONF spark.driver.resourceSpec=medium;
    CONF spark.executor.instances=1;
    CONF spark.executor.resourceSpec=small;
    CONF spark.app.name=Spark SQLEngine;
    CONF spark.sql.hive.metastore.version=adb;
    CONF spark.adb.sessionTTLSeconds=2147483647;

    參數說明:

    參數

    是否必填

    說明

    spark.app.name

    Spark應用程式名稱。

    spark.sql.hive.metastore.version

    指定採用中繼資料服務版本,支援如下配置:

    • adb:串連AnalyticDB for MySQL中的中繼資料資訊。

    • <hive_version>:指定Hive MetaStore的版本。

    說明

    spark.adb.sessionTTLSeconds

    Spark Distribution SQL Engine銷毀時間。單位為秒(s),預設值為1200秒。即最後一個SQL代碼塊執行完畢,1200秒後Spark Distribution SQL Engine服務會自動銷毀。

    重要
    • Spark Distribution SQL Engine銷毀後,重啟Spark Distribution SQL Engine時,會重建一個新的串連地址。

    • 如果您需要在DataWorks中長期使用Hive時,請將spark.adb.sessionTTLSeconds參數配置為2147483647,避免Spark Distribution SQL Engine長時間沒有執行SQL而自動銷毀。

    其他參數,請參見Spark應用配置參數說明

步驟二:擷取網域名稱串連地址

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,在湖倉版頁簽下,單擊目的地組群ID。

  2. 在左側導覽列,單擊作業開發 > Spark Jar開發

  3. 應用列表頁簽中,單擊目標Spark應用操作列的詳情,擷取Spark Distribution SQL Engine的網域名稱地址,即Spark JDBC Public Connect URL對應的地址。

步驟二:在DataWorks中註冊Spark Distribution SQL Engine

  1. 進入管理中心頁面。

    登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心

  2. 在左側導覽列單擊開源叢集 > 註冊叢集,選擇CDH,進入叢集註冊頁面。

  3. 註冊CDH叢集頁面,配置如下參數:

    配置參數

    說明

    叢集顯示名稱

    定義叢集在DataWorks的名稱,名稱必須唯一。

    叢集版本

    選擇註冊的叢集版本。

    請選擇CDH 6.3.2

    叢集名稱

    用於確定當前所註冊叢集的配置資訊來源。可選擇其他工作空間登入的叢集或建立叢集:

    • 登入叢集:當前所註冊叢集的配置資訊,直接引用其他工作空間登入叢集的配置資訊。

    • 建立叢集:當前註冊叢集的配置資訊需您自行配置。

    版本選擇

    Hive的版本號碼。請選擇2.1.1

    HiveServer2

    HiveServer2地址。請填寫步驟二中啟動Spark Distribution SQL Engine後擷取的網域名稱串連地址。詳情請參見步驟二:擷取網域名稱串連地址

    重要

    網域名稱地址中的{database name}需替換為實際的資料庫名。

    Metastore

    Hive Metastore地址。請填寫步驟二中啟動Spark Distribution SQL Engine後擷取的網域名稱串連地址。詳情請參見步驟二:擷取網域名稱串連地址

    重要

    網域名稱地址中的{database name}需替換為實際的資料庫名。

    預設訪問方式

    用於配置在DataWorks運行CDH叢集任務時,使用什麼帳號訪問CDH叢集。詳情請參見配置叢集預設訪問身份

  4. 單擊完成註冊

步驟三:在DataWorks中使用Spark Distribution SQL Engine執行SQL

  1. 進入資料開發頁面。

    登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料建模與開發 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

  2. 建立商務程序。

    您可使用如下兩種方式建立:

    • 方式一:滑鼠移至上方至建立表徵圖,單擊建立商務程序

    • 方式二:按右鍵資料開發左側分類樹的商務程序,選擇建立商務程序

  3. 在彈出的建立商務程序對話方塊中,配置商務程序的名稱及描述,單擊建立

    本文樣本建立名為Sparktest的商務程序。

  4. 建立節點。

    1. 展開商務程序Sparktest的子目錄,並單擊CDH

    2. 按右鍵資料開發,選擇建立節點 > CDH Hive

    3. 配置節點引擎執行個體、名稱等資訊。

    4. 單擊確認

  5. 節點建立完成後,在右側代碼框中輸入SQL語句,單擊image按鈕執行。

    SHOW TABLES;

    返回結果:

    +-----------+-----------+-------------+
    | namespace | tableName | isTemporary |
    +-----------+-----------+-------------+
    |    db     |   test    |    false    |
    +-----------+-----------+-------------+