資料目錄是資料湖構建(Data Lake Formation)或 Hive Metastore(HMS)等外部中繼資料服務的最上層實體,可以包含若干個資料庫。在EMR Serverless Spark中,您可以通過該功能查看繫結資料目錄中的資料庫和表,還可以添加已有的資料目錄。該功能適用於需要實現中繼資料隔離的情境。
Catalog介紹
EMR Serverless Spark提供了靈活的Catalog管理機制,支援多種類型的Catalog(例如Paimon、Iceberg、StarRocks等),以滿足不同情境的需求。除了資料目錄方式外,還支援內建的Catalog以及自訂Catalog。本部分將詳細介紹Serverless Spark中Catalog的分類、配置方法及其使用方式。
Catalog類型 | 支援資料來源 | 添加方式 | 特性說明 | 使用方式 |
資料目錄Catalog |
| 需在数据目录頁面手動添加Catalog。 | 新增Catalog後,需要重啟一次正在啟動並執行會話,以使其生效。 |
|
自訂Catalog | Paimon、Iceberg等 | 通過編輯會話,在Spark 配置中添加相應類型的參數。 | |
添加資料目錄
進入資料目錄頁面。
在左側導覽列,選擇EMR Serverless > Spark。
在Spark頁面,單擊目標工作空間名稱。
在EMR Serverless Spark頁面,單擊左側導覽列中的数据目录。
說明資料目錄頁面為您展示了建立叢集時您選擇的DLF資料目錄下的資料庫和表。
單擊添加数据目录。
在添加数据目录對話方塊中,選擇Catalog類型並配置相應參數,單擊添加。支援以下Catalog類型。
DLF資料目錄
DLF 数据目录是一種中繼資料管理服務,用於管理和查詢儲存在資料湖中的中繼資料。通過選擇已有的DLF資料目錄或建立新的資料目錄,您可以快速接入資料湖中的中繼資料。
如果您想建立新的DLF資料目錄,可以單擊创建数据目录,跳轉至資料湖構建控制台建立,詳情請參見中繼資料管理。
使用DLF資料目錄時,僅支援使用以下引擎版本:esr-4.3.0及以上版本、esr-3.3.0及以上版本、esr-2.7.0及以上版本。
Hive Metastore(HMS)資料目錄
外部 Hive Metastore是一種獨立的中繼資料服務,通常用於管理Hive表的中繼資料。通過配置該服務,您可以將外部Hive Metastore中的中繼資料整合到當前環境中。
使用該方式,需確保Serverless Spark與該服務所在VPC已經連通。
參數 | 說明 |
网络连接 | 當前環境與外部Hive Metastore所在VPC的網路連接配置。 在下拉式清單中選擇已建立的網路連接名稱,具體請參見步驟一:新增網路連接。 說明
|
Metastore 服务地址 | 外部Hive Metastore的服務地址,格式為 其中:
|
Kerberos認證 | 如果您的外部Hive Metastore開啟Kerberos認證,您需要指定keytab檔案地址,以及Principal名稱。
|
添加外部Metastore服務,請參見串連外部Hive Metastore Service。
StarRocks資料目錄
StarRocks是一款高效能的AnalyticDB。通過添加StarRocks資料目錄,您可以在EMR Serverless Spark中註冊StarRocks執行個體的中繼資料資訊,添加成功後即可在任務和會話中直接讀寫StarRocks中的資料,無需在每個任務中單獨配置串連參數。使用該方式,需確保Serverless Spark與StarRocks執行個體所在VPC已連通。
添加成功後,您可以在SQL中通過三段式文法直接讀寫StarRocks中的資料,例如:SELECT * FROM <catalogName>.<dbName>.<tableName>;
使用StarRocks資料目錄,僅支援使用以下引擎版本:esr-4.8.0及以上版本、esr-5.2.0及以上版本。
參數 | 說明 |
数据目录名称 | StarRocks資料目錄的名稱,用於在SQL中引用該Catalog。同一工作空間內,資料目錄名稱不允許重複。 |
网络连接 | 當前環境與StarRocks執行個體所在VPC的網路連接配置。在下拉式清單中選擇已建立的網路連接名稱。具體操作,請參見步驟一:新增網路連接。 說明
|
Endpoint | StarRocks的FE訪問地址, |
查询端口 | StarRocks的FE查詢連接埠,通常是9030。 |
用户名 | 訪問StarRocks的使用者名稱。該使用者名稱將用於Spark任務讀寫StarRocks資料時的身份認證。 |
密码 | 上述使用者對應的密碼。 |
讀寫StarRocks資料的詳細操作,請參見讀寫StarRocks。
Hologres資料目錄
Hologres是一款即時數倉產品,支援海量資料的即時寫入和即時分析。通過添加Hologres資料目錄,您可以在EMR Serverless Spark中註冊Hologres執行個體的中繼資料資訊,添加成功後即可在任務和會話中直接讀寫Hologres中的資料,無需在每個任務中單獨配置串連參數。使用該方式,需確保Serverless Spark與Hologres執行個體所在VPC已連通。
添加成功後,您可以在SQL中通過三段式文法直接讀寫Hologres中的資料,每個 Catalog 嚴格綁定一個 Hologres Database,且不可跨庫訪問(即無法通過同一 Catalog 訪問多個 Hologres DB)。Catalog 內部的邏輯組織與 Hologres 保持一致:
Spark 概念 | 對應 Hologres 概念 | 說明 |
Catalog | Database | 如 |
Namespace | Schema | 如 |
Table | Table | 必須顯式指定 |
使用Hologres資料目錄,僅支援使用以下引擎版本:esr-4.9.0及以上版本。
參數 | 說明 |
数据目录名称 | Hologres資料目錄的名稱,用於在SQL中引用該Catalog。同一工作空間內,資料目錄名稱不允許重複。 |
网络连接 | 當前環境與Hologres執行個體所在VPC的網路連接配置。在下拉式清單中選擇已建立的網路連接名稱。具體操作,請參見步驟一:新增網路連接。 說明
|
Endpoint | Hologres執行個體訪問地址,可在Hologres控制台的執行個體詳情頁擷取。 |
查询端口 | Hologres執行個體的連接埠號碼,通常是80。 |
用户名 | 訪問Hologres的使用者名稱。該使用者名稱將用於Spark任務讀寫Hologres資料時的身份認證。
|
密码 | 上述使用者對應的密碼。
|
讀寫Hologres資料的詳細操作,請參見讀寫Hologres。
查看資料庫和表
在数据目录頁面,單擊資料目錄ID。
展示當前資料目錄下的所有資料庫資訊。
單擊操作列的表。
展示當前資料庫下的所有資料表資訊。
單擊操作列的字段。
展示當前資料表的表資訊和列資訊。