Trino是一個開源的分布式SQL查詢引擎,適用於多資料來源互動式分析查詢。您可以通過開發配置EMR(E-MapReduce)Trino節點,完成海量多維資料彙總或報表分析。
前提條件
已建立阿里雲EMR叢集,並註冊EMR叢集至DataWorks。操作詳情請參見新版資料開發:綁定EMR計算資源。
(可選,RAM帳號需要)進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發或空間管理員(許可權較大,謹慎添加)角色許可權,新增成員的操作詳情請參見為工作空間增加空間成員。
如果您使用的是主帳號,則可忽略該添加操作。
使用限制
僅支援使用Serverless資源群組運行該類型任務。
DataLake或自訂叢集若要在DataWorks管理中繼資料,需先在叢集側配置EMR-HOOK。詳情請參見配置Hive的EMR-HOOK。
說明若未在叢集側配置EMR-HOOK,則無法在DataWorks中即時展示中繼資料、產生審計日誌、展示血緣關係、開展EMR相關治理任務。
Trino開啟了LDAP認證的情況下,需要登入EMR所在Master機器,下載/etc/taihao-apps/trino-conf目錄中的keystore檔案。登入DataWorks控制台,在頂部切換至目標地區,找到已建立的工作空間,單擊操作列的管理,進入管理中心,在左側導覽列計算資源中找到EMR叢集中的賬戶映射,點擊右側的編輯帳號映射按鈕,進入編輯頁面,點擊上傳keystore檔案按鈕上傳該檔案。
操作步驟
在EMR Trino節點編輯頁面,執行如下開發操作。
連接器配置
編輯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};(可選)配置進階參數
您可在節點右側調度配置的中配置下表特有屬性參數。
說明更多開源Spark屬性參數,可在節點右側調度配置的中進行配置。
參數
參數說明
FLOW_SKIP_SQL_ANALYZE
SQL語句執行方式。取值如下:
true:表示每次執行多條SQL語句。false(預設值):表示每次執行一條SQL語句。
DATAWORKS_SESSION_DISABLE
適用於開發環境直接測試回合情境。取值如下:
true:表示每次運行SQL語句都會建立一個JDBC Connection。false(預設值):表示使用者在一個節點裡運行不同的SQL語句時會複用同一個JDBC Connection。
執行SQL任務
在調試配置的計算資源中,選擇配置計算資源和DataWorks資源群組。
說明您還可以根據任務執行所需的資源情況來調度 CU。預設CU為
0.25。訪問公用網路或VPC網路環境的資料來源需要使用與資料來源測試連通性成功的調度資源群組。詳情請參見網路連通方案。
在工具列的參數對話方塊中選擇已建立的資料來源,單擊運行SQL任務。
說明使用EMR Trino節點查詢資料時,返回的查詢結果最大支援10000條資料,並且資料總量不能超過10MB。
如需定期執行節點任務,請根據業務需求配置調度資訊。配置詳情請參見節點調度。
節點任務配置完成後,需對節點進行發布。詳情請參見節點/工作流程發布。
任務發布後,您可以在營運中心查看周期任務的運行情況。詳情請參見營運中心入門。
常見問題
Q:節點運行出現連線逾時?

A:請確保資源群組和叢集的網路聯通。請進入計算資源的列表頁,單擊資源初始化,在彈窗中單擊再次初始化,確保成功初始化。

