創(chuàng)建EMR Presto節(jié)點(diǎn)
Presto(即PrestoDB)是一款靈活、可擴(kuò)展的分布式SQL查詢引擎,支持使用標(biāo)準(zhǔn)的SQL查詢語言進(jìn)行大數(shù)據(jù)的交互式分析查詢,DataWorks為您提供EMR Presto節(jié)點(diǎn),便于您在DataWorks上進(jìn)行Presto任務(wù)的開發(fā)和周期性調(diào)度。本文為您介紹使用EMR Presto節(jié)點(diǎn)進(jìn)行任務(wù)開發(fā)的主要流程和注意事項(xiàng)。
前提條件
已創(chuàng)建阿里云EMR集群,并注冊(cè)EMR集群至DataWorks。操作詳情請(qǐng)參見注冊(cè)EMR集群至DataWorks。
(可選,RAM賬號(hào)需要)進(jìn)行任務(wù)開發(fā)的RAM賬號(hào)已被添加至對(duì)應(yīng)工作空間中,并具有開發(fā)或空間管理員(權(quán)限較大,謹(jǐn)慎添加)角色權(quán)限,添加成員的操作詳情請(qǐng)參見為工作空間添加空間成員。
已購買Serverless資源組并完成資源組配置,包括綁定工作空間、網(wǎng)絡(luò)配置等,詳情請(qǐng)參見新增和使用Serverless資源組。
數(shù)據(jù)開發(fā)(DataStudio)中已創(chuàng)建業(yè)務(wù)流程。
數(shù)據(jù)開發(fā)(DataStudio)基于業(yè)務(wù)流程對(duì)不同開發(fā)引擎進(jìn)行具體開發(fā)操作,所以您創(chuàng)建節(jié)點(diǎn)前需要先新建業(yè)務(wù)流程,操作詳情請(qǐng)參見創(chuàng)建業(yè)務(wù)流程。
使用限制
僅數(shù)據(jù)湖集群(Hadoop)支持使用EMR Presto節(jié)點(diǎn)進(jìn)行任務(wù)開發(fā),新版數(shù)據(jù)湖集群(DataLake)和自定義集群(Custom)不支持。
僅支持使用Serverless資源組(推薦)或獨(dú)享調(diào)度資源組運(yùn)行該類型任務(wù)。
開發(fā)Presto任務(wù)時(shí),SQL語句最大不能超過130KB。
使用EMR Presto節(jié)點(diǎn)查詢數(shù)據(jù)時(shí),返回的查詢結(jié)果最大支持10000條數(shù)據(jù),并且數(shù)據(jù)總量不能超過10M。
數(shù)據(jù)血緣:當(dāng)前EMR Presto節(jié)點(diǎn)的任務(wù)不支持產(chǎn)出血緣關(guān)系。
步驟一:創(chuàng)建EMR Presto節(jié)點(diǎn)
進(jìn)入數(shù)據(jù)開發(fā)頁面。
登錄DataWorks控制臺(tái),切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的 ,在下拉框中選擇對(duì)應(yīng)工作空間后單擊進(jìn)入數(shù)據(jù)開發(fā)。
新建EMR Presto節(jié)點(diǎn)。
右鍵單擊目標(biāo)業(yè)務(wù)流程,選擇
。說明您也可以鼠標(biāo)懸停至新建,選擇
。在新建節(jié)點(diǎn)對(duì)話框中,輸入名稱,并選擇引擎實(shí)例、節(jié)點(diǎn)類型及路徑。單擊確認(rèn),進(jìn)入EMR Presto節(jié)點(diǎn)編輯頁面。
說明節(jié)點(diǎn)名稱支持大小寫字母、中文、數(shù)字、下劃線(_)和小數(shù)點(diǎn)(.)。
步驟二:開發(fā)EMR Presto任務(wù)
在EMR Presto節(jié)點(diǎn)編輯頁面雙擊已創(chuàng)建的節(jié)點(diǎn),進(jìn)入任務(wù)開發(fā)頁面,執(zhí)行如下開發(fā)操作。
開發(fā)SQL代碼
在SQL編輯區(qū)域開發(fā)任務(wù)代碼,您可在代碼中使用${變量名}的方式定義變量,并在節(jié)點(diǎn)編輯頁面右側(cè)導(dǎo)航欄的調(diào)度配置>調(diào)度參數(shù)中為該變量賦值。實(shí)現(xiàn)調(diào)度場(chǎng)景下代碼的動(dòng)態(tài)傳參,調(diào)度參數(shù)使用詳情,請(qǐng)參考調(diào)度參數(shù)支持的格式,示例如下。
select '${var}'; --可以結(jié)合調(diào)度參數(shù)使用。
select * from userinfo ;
SQL語句最大不能超過130KB。
如果您工作空間的數(shù)據(jù)開發(fā)中綁定多個(gè)EMR數(shù)據(jù)源,則需要根據(jù)業(yè)務(wù)需求選擇合適的引擎。如果僅綁定一個(gè)EMR引擎,則無需選擇。
如果您需要修改代碼中的參數(shù)賦值,請(qǐng)單擊界面上方工具欄的高級(jí)運(yùn)行。參數(shù)賦值邏輯詳情請(qǐng)參見運(yùn)行,高級(jí)運(yùn)行和開發(fā)環(huán)境冒煙測(cè)試賦值邏輯有什么區(qū)別。
(可選)配置高級(jí)參數(shù)
您可在節(jié)點(diǎn)高級(jí)設(shè)置處配置特有屬性參數(shù)。更多屬性參數(shù)設(shè)置,請(qǐng)參考Spark Configuration。不同類型EMR集群可配置的高級(jí)參數(shù)存在部分差異,具體如下表。
Hadoop集群:EMR on ECS
高級(jí)參數(shù) | 配置說明 |
FLOW_SKIP_SQL_ANALYZE | SQL語句執(zhí)行方式。取值如下:
說明 該參數(shù)僅支持用于數(shù)據(jù)開發(fā)環(huán)境測(cè)試運(yùn)行流程。 |
USE_GATEWAY | 設(shè)置本節(jié)點(diǎn)提交作業(yè)時(shí),是否通過Gateway集群提交。取值如下:
說明 如果本節(jié)點(diǎn)所在的集群未關(guān)聯(lián)Gateway集群,此處手動(dòng)設(shè)置參數(shù)取值為 |
執(zhí)行SQL任務(wù)
在工具欄單擊圖標(biāo),在參數(shù)對(duì)話框選擇已創(chuàng)建的調(diào)度資源組,單擊運(yùn)行。
說明訪問公共網(wǎng)絡(luò)或VPC網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)源需要使用與數(shù)據(jù)源測(cè)試連通性成功的調(diào)度資源組。詳情請(qǐng)參見網(wǎng)絡(luò)連通方案。
如果您后續(xù)執(zhí)行任務(wù)需要修改使用的資源組,您可單擊帶參運(yùn)行圖標(biāo),選擇需要更換的調(diào)度資源組。
單擊圖標(biāo),保存編寫的SQL語句。
(可選)冒煙測(cè)試。
如果您希望在開發(fā)環(huán)境進(jìn)行冒煙測(cè)試,可在執(zhí)行節(jié)點(diǎn)提交或節(jié)點(diǎn)提交后執(zhí)行冒煙測(cè)試,操作詳情請(qǐng)參見執(zhí)行冒煙測(cè)試。
步驟三:配置節(jié)點(diǎn)調(diào)度
如您需要周期性執(zhí)行創(chuàng)建的節(jié)點(diǎn)任務(wù),可單擊節(jié)點(diǎn)編輯頁面右側(cè)的調(diào)度配置,根據(jù)業(yè)務(wù)需求配置該節(jié)點(diǎn)任務(wù)的調(diào)度信息。配置詳情請(qǐng)參見任務(wù)調(diào)度屬性配置概述。
您需要設(shè)置節(jié)點(diǎn)的重跑屬性和依賴的上游節(jié)點(diǎn),才可以提交節(jié)點(diǎn)。
步驟四:發(fā)布節(jié)點(diǎn)任務(wù)
節(jié)點(diǎn)任務(wù)配置完成后,需執(zhí)行提交發(fā)布操作,提交發(fā)布后節(jié)點(diǎn)即會(huì)根據(jù)調(diào)度配置內(nèi)容進(jìn)行周期性運(yùn)行。
單擊工具欄中的圖標(biāo),保存節(jié)點(diǎn)。
單擊工具欄中的圖標(biāo),提交節(jié)點(diǎn)任務(wù)。
提交時(shí)需在提交對(duì)話框中輸入變更描述,并根據(jù)需要選擇是否在節(jié)點(diǎn)提交后執(zhí)行代碼評(píng)審。
說明您需設(shè)置節(jié)點(diǎn)的重跑屬性和依賴的上游節(jié)點(diǎn),才可提交節(jié)點(diǎn)。
代碼評(píng)審可對(duì)任務(wù)的代碼質(zhì)量進(jìn)行把控,防止由于任務(wù)代碼有誤,未經(jīng)審核直接發(fā)布上線后出現(xiàn)任務(wù)報(bào)錯(cuò)。如進(jìn)行代碼評(píng)審,則提交的節(jié)點(diǎn)代碼必須通過評(píng)審人員的審核才可發(fā)布,詳情請(qǐng)參見代碼評(píng)審。
如您使用的是標(biāo)準(zhǔn)模式的工作空間,任務(wù)提交成功后,需單擊節(jié)點(diǎn)編輯頁面右上方的發(fā)布,將該任務(wù)發(fā)布至生產(chǎn)環(huán)境執(zhí)行,操作請(qǐng)參見發(fā)布任務(wù)。
后續(xù)步驟
任務(wù)提交發(fā)布后,會(huì)基于節(jié)點(diǎn)的配置周期性運(yùn)行,您可單擊節(jié)點(diǎn)編輯界面右上角的運(yùn)維,進(jìn)入運(yùn)維中心查看周期任務(wù)的調(diào)度運(yùn)行情況。詳情請(qǐng)參見查看并管理周期任務(wù)。