Trino是一個開源的分布式SQL查詢引擎,適用于多數據源交互式分析查詢。您可以通過創建EMR(E-MapReduce)Trino節點,完成海量多維數據聚合或報表分析。詳情請參見Trino概述。
前提條件
已創建阿里云EMR集群,并注冊EMR集群至DataWorks。
創建EMR相關節點并開發EMR任務前,您需要先將EMR集群注冊至DataWorks工作空間,操作詳情請參見注冊EMR集群至DataWorks。
(可選,RAM賬號需要)進行任務開發的RAM賬號已被添加至對應工作空間中,并具有開發或空間管理員(權限較大,謹慎添加)角色權限,添加成員的操作詳情請參見為工作空間添加空間成員。
已購買Serverless資源組并完成資源組配置,包括綁定工作空間、網絡配置等,詳情請參見新增和使用Serverless資源組。
數據開發(DataStudio)中已創建業務流程。
數據開發(DataStudio)基于業務流程對不同開發引擎進行具體開發操作,所以您創建節點前需要先新建業務流程,操作詳情請參見創建業務流程。
使用限制
僅支持使用Serverless資源組運行該類型任務。
DataLake或自定義集群若要在DataWorks管理元數據,需先在集群側配置EMR-HOOK。若未配置,則無法在DataWorks中實時展示元數據、生成審計日志、展示血緣關系、開展EMR相關治理任務。配置EMR-HOOK,詳情請參見配置Hive的EMR-HOOK。
Trino開啟了LDAP認證的情況下,需要登錄EMR所在Master機器,下載/etc/taihao-apps/trino-conf目錄中的keystore文件。登錄DataWorks控制臺,單擊進入左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入管理中心,在左側導航欄單擊集群管理,找到已注冊的目標EMR集群,切換至賬號映射頁簽,單擊編輯賬號映射按鈕,進入編輯頁面,單擊上傳keystore文件按鈕上傳該文件。
步驟一:創建EMR Trino節點
進入數據開發頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據開發。
右鍵單擊目標業務流程,選擇
。在新建節點對話框中,輸入名稱,并選擇引擎實例、節點類型及路徑。單擊確認,進入EMR Trino節點編輯頁面。
說明節點名稱支持大小寫字母、中文、數字、下劃線(_)和小數點(.)。
步驟二:開發EMR Trino任務
雙擊已創建的節點,進入任務開發頁面,執行如下開發操作。
(可選)選擇EMR集群實例
若您的工作空間注冊了多個EMR集群,則可在節點編輯頁面頂部選擇合適的集群。若僅注冊了一個EMR集群,默認使用該集群進行開發操作。
連接器配置
編輯SQL代碼
在SQL編輯區域輸入任務代碼,示例如下。
-- 使用方法
-- SELECT * FROM <catalog>.<schema>.<table>;
-- 參數說明
-- <catalog>為要連接的數據源的名稱。
-- <schema>為要使用的數據庫的名稱。
-- <table>為待查詢的數據表。
-- 例如,如果要查看Hive數據源中默認數據庫中的hive_table表的數據
-- 查Hive表
SELECT * FROM hive.default.hive_table;
-- 例如,如果要查看MySQL數據源中自建數據庫rt_data庫中的rt_user表的數據
-- 查MySQL表
SELECT * FROM mysql.rt_data.rt_user;
-- 聯查Hive和MySQL表
SELECT DISTINCT a.id, a.name,b.rt_name FROM hive.default.hive_table a INNER JOIN mysql.rt_data.rt_user b ON a.id = b.id;
-- 查Hive表,可以結合調度參數使用
SELECT * FROM hive.default.${table_name};
DataWorks提供的調度參數可實現周期調度場景下代碼動態入參,您可在節點任務中通過${變量名}的方式定義代碼中的變量,并在節點編輯頁面右側導航欄的調度配置>調度參數,為該變量賦值。調度參數支持的格式及配置詳情,請參見調度參數支持的格式、配置并使用調度參數。
如果您需要修改代碼中的參數賦值,請單擊界面上方工具欄的高級運行。參數賦值邏輯詳情請參見運行,高級運行和開發環境冒煙測試賦值邏輯有什么區別。
執行SQL任務
在工具欄單擊圖標,在參數對話框選擇已創建的調度資源組,單擊運行。
說明訪問公共網絡或VPC網絡環境的數據源需要使用與數據源測試連通性成功的調度資源組。詳情請參見網絡連通方案。
如果您后續執行任務需要修改使用的資源組,您可單擊帶參運行圖標,選擇需要更換的調度資源組。
使用EMR Trino節點查詢數據時,返回的查詢結果最大支持10000條數據,并且數據總量不能超過10M。
單擊圖標,保存編寫的SQL語句。
(可選)配置高級參數
如您需要調整SQL語句執行方式,可點擊右側導航欄的高級設置進行相應設置。
參數 | 參數說明 |
FLOW_SKIP_SQL_ANALYZE | SQL語句執行方式。取值如下:
|
DATAWORKS_SESSION_DISABLE | 適用于開發環境直接測試運行場景。取值如下:
|
步驟三:配置任務調度
如您需要周期性執行創建的節點任務,可單擊節點編輯頁面右側的調度配置,根據業務需求配置該節點任務的調度信息。配置詳情請參見任務調度屬性配置概述。
您需要設置節點的重跑屬性和依賴的上游節點,才可以提交節點。
步驟四:提交發布任務
節點任務配置完成后,需執行提交發布操作,提交發布后節點即會根據調度配置內容進行周期性運行。
單擊工具欄中的圖標,保存節點。
單擊工具欄中的圖標,提交節點任務。
提交時需在提交對話框中輸入變更描述,并根據需要選擇是否在節點提交后執行代碼評審。
說明您需設置節點的重跑屬性和依賴的上游節點,才可提交節點。
代碼評審可對任務的代碼質量進行把控,防止由于任務代碼有誤,未經審核直接發布上線后出現任務報錯。如進行代碼評審,則提交的節點代碼必須通過評審人員的審核才可發布,詳情請參見代碼評審。
如您使用的是標準模式的工作空間,任務提交成功后,需單擊節點編輯頁面右上方的發布,將該任務發布至生產環境執行,操作請參見發布任務。
后續步驟
任務提交發布后,會基于節點的配置周期性運行,您可單擊節點編輯界面右上角的運維,進入運維中心查看周期任務的調度運行情況。詳情請參見查看并管理周期任務。