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