DataWorks支援基於EMR(E-MapReduce)計算引擎建立Hive、MR、Presto和Spark SQL等節點,實現EMR任務工作流程的配置、定時調度和中繼資料管理等功能,保障資料生產及管理的高效穩定。本文為您介紹在DataWorks上使用EMR的基本開發流程,以及相關費用說明、環境準備、許可權控制等內容。
背景資訊
開源巨量資料開發平台E-MapReduce(簡稱EMR),是運行在阿里雲平台上的一種巨量資料處理的系統解決方案。
EMR基於開源的Apache Hadoop和Apache Spark,讓您可以方便地使用Hadoop和Spark生態系統中的其他周邊系統分析和處理資料。阿里雲EMR提供了on ECS、on ACK和Serverless形態,以滿足不同使用者的需求。詳情請參見E-MapReduce產品概述。
支援的叢集類型
您需將EMR叢集註冊至DataWorks,後續才可在DataWorks上使用該叢集運行相關任務。在DataWorks執行相關操作前,請提前建立好相應叢集。DataWorks目前支援註冊的叢集類型如下:
若您使用的叢集類型無法註冊至DataWorks,請提交工單聯絡技術支援人員處理。
使用限制
任務類型:DataWorks暫不支援執行EMR的Flink任務。
任務執行:DataWorks支援使用Serverless資源群組(推薦)或舊版獨享調度資源群組進行EMR任務執行。
任務治理:
僅EMR Hive、EMR Spark及EMR Spark SQL節點中SQL任務支援產出血緣關係。當叢集版本為5.9.1或3.43.1及以上版本時,以上節點均支援查看錶級血緣與欄位級血緣。
說明對於Spark類型節點,當EMR叢集版本為5.8.0和3.42.0及以上版本時,支援查看錶級血緣與欄位級血緣,當EMR叢集版本低於5.8.0和3.42.0版本時,僅Spark 2.x支援查看錶級血緣。
DataLake或自訂叢集若要在DataWorks管理中繼資料,需先在叢集側配置EMR-HOOK。若未配置,則在DataWorks中無法即時展示中繼資料、產生審計日誌、展示血緣關係,EMR相關治理任務將無法開展。目前僅EMR Hive、EMR Spark SQL服務支援配置EMR-HOOK,配置詳情請參見配置Hive的EMR-HOOK、配置Spark SQL的EMR-HOOK。
地區限制:目前僅華北3(張家口)地區支援使用EMR Serverless Spark。
前提條件
已開通DataWorks並建立工作空間,詳情請參見開通DataWorks服務、建立並管理工作空間。
已建立EMR叢集,詳情請參見建立叢集。
說明在DataWorks運行EMR任務時可選擇多種EMR組件,不同組件運行任務時的最優配置存在差異,您在建立EMR叢集時請參考EMR叢集配置建議,根據實際情況進行選擇。
已購買DataWorks的Serverless資源群組。
DataWorks資源群組購買後,預設與其他雲產品網路不連通。在對接使用EMR時,需先保障EMR叢集和資源群組間網路連通,才可進行後續相關操作。
說明Serverless資源群組(推薦)為通用型資源群組,可滿足多種任務類型(例如,資料同步、任務調度)的情境應用,購買詳情請參見新增和使用Serverless資源群組。新使用者僅支援購買Serverless資源群組。
若您已購買過舊版獨享資源群組,也可使用該資源群組運行EMR任務。舊版獨享資源群組需根據待啟動並執行任務類型選擇相應資源群組。例如,運行資料同步任務,需使用獨享Data Integration資源群組;運行資料調度任務,需使用獨享調度資源群組。詳情請參見使用舊版資源群組。
使用說明
DataWorks on EMR的相關開發說明如下。
序號 | 說明 |
DataWorks上進行EMR任務開發,除DataWorks側產品費用外,還會產出其他產品側費用。 | |
DataWorks上進行EMR任務開發前,您需根據業務需求購買相應DataWorks版本及所需資源群組,並完成相關EMR叢集註冊及開發環境的準備工作。 | |
DataWorks為您提供了產品級與模組層級的許可權控制,您可根據業務需求對不同使用者授權不同許可權,實現許可權的精細化管理。 | |
DataWorksData Integration提供EMR Hive資料的讀取與寫入的能力,並提供離線同步、全增量同步處理任務等多種資料同步情境。 | |
DataWorks提供資料建模服務,將無序、雜亂、繁瑣、龐大且難以管理的資料,進行結構化有序的管理。還提供資料開發(DataStudio)功能,用於調度任務的開發,並與營運中心配合使用,進行調度任務的監控營運。 | |
DataWorks資料分析提供EMR資料分析與服務共用能力。 | |
DataWorks提供EMR中繼資料管理與資料治理能力。 | |
DataWorks提供資料服務能力,協助您統一管理面向內外部的API服務。 | |
DataWorks支援開放能力,協助您快速實現各類應用系統對接DataWorks,並進行資料流程管控、資料治理和營運,及時響應各應用系統對接DataWorks的業務狀態變化。 |
費用說明
一、DataWorks相關費用
以下費用會體現在DataWorks產品相關賬單中。DataWorks計費詳情請參見計費簡介。
費用 | 說明 |
DataWorks版本費用 | 進行任務開發前,您需先開通DataWorks。如果開通的是DataWorks標準版、專業版、企業版,則在開通時需支付相應版本的版本費用。 |
任務調度的調度資源費用 | 任務開發完成後,進行任務調度需使用調度資源。您可使用Serverless資源群組(推薦)或舊版獨享調度資源群組,支付相應資源群組費用。 說明 購買的Serverless資源群組可滿足任務調度、資料同步共同使用。 |
資料同步的同步資源費用 | 運行資料同步任務時,除調度資源外,還需使用資料同步資源。您可使用Serverless資源群組(推薦)或舊版獨享Data Integration資源群組,支付相應資源群組費用。 |
二、非DataWorks相關費用
以下費用不會體現在DataWorks產品相關賬單中。
涉及其他產品的費用,收費情況以對應產品的收費邏輯決定,您可查看對應產品的計費文檔瞭解詳情。以EMR為例,計費詳情請參見計費概述。
費用 | 說明 |
資料庫費用 | 資料同步時,讀寫上下遊資料庫中的資料時,可能會產生資料庫費用。 |
計算和儲存費用 | 運行計算引擎任務時,可能會產生計算引擎的計算和儲存費用。 |
網路服務費用 | 連通DataWorks和其他相關產品的網路環境時,可能會產生網路服務費用。例如,使用Express Connect、共用頻寬、EIP等產品連通網路時,會產生相應產品的服務費用。 |
環境準備
一、資源準備
類別 | 描述 | 相關文檔 |
版本選擇 | DataWorks基礎版服務可滿足EMR基本的資料上雲、資料開發與調度生產、簡單的資料治理工作,若需擷取更專業的資料治理、資料安全解決方案,可選擇相應的標準版、專業版、企業版服務。 | |
資源群組選擇 | EMR叢集目前僅支援使用Serverless資源群組(推薦)或舊版獨享資源群組執行任務。 |
二、開發環境準備
您需先在DataWorks工作空間註冊EMR叢集,才可在資料開發(DataStudio)進行資料開發工作,並以工作空間為單位管理空間成員以便進行協同開發。
類別 | 描述 | 相關文檔 |
資料同步環境準備 | 基於叢集的組件執行資料同步任務前,需先將該組件建立為相應的DataWorks資料來源。 | |
資料開發、資料分析環境準備 | 基於DataWorks進行計算引擎任務周期性調度前,您需先將叢集添加至DataWorks。添加後,才可使用該叢集進行相關資料開發、資料分析、周期性調度運行任務等操作。 | |
協同開發環境準備 | 為保障RAM使用者以工作空間為單位進行協同開發,您需執行如下操作:
|
許可權控制
DataWorks為您提供了產品級與模組層級的許可權控制,您可根據業務需求對不同使用者授權不同許可權。許可權控制相關介紹如下。
一、資料存取權限控制
加入至DataWorks工作空間進行EMR任務開發的RAM使用者,可通過為其配置叢集帳號映射的方式,使空間成員(RAM使用者)擁有該叢集映射帳號所擁有的許可權。叢集帳號映射,詳情請參見:設定叢集身份映射。
DataWorks提供DLF可視化許可權申請、許可權審批及許可權審計等功能,可實現資料湖全託管的統一許可權管理,當EMR已將DLF設定為中繼資料服務時,您可以在DataWorks資訊安全中心進行資料許可權申請與控制,詳情請參見DLF資料存取權限控制。
二、功能模組許可權控制
進行資料開發前,您可參考為RAM使用者授權指引,讓其擁有不同的操作許可權。權限類別型如下:
通過全域級模組許可權控制,管理DataWorks功能模組(例如,不允許使用者訪問資料地圖)與DataWorks控制台的許可權(例如,允許使用者刪除工作空間)。
通過空間級模組許可權管控,管理DataWorks空間級模組(例如,允許使用者進入資料開發執行相關開發操作)與全域模組的使用許可權(例如,禁止使用者訪問資料保護傘模組)。
開始使用
DataWorks為您提供了多個功能模組,您可在資料開發(DataStudio)中進行調度任務的開發,並在開發完成後進入生產營運中心進行調度任務的監控營運。同時,提供了任務開發與發布的流程管控,助力您規範開發操作,保障開發過程的安全性。
一、Data Integration
DataWorks的Data Integration模組為您提供讀取和寫入資料至EMR Hive的能力,您需要將Hive組件建立為DataWorks的Hive資料來源,實現將其他資料來源的資料同步至Hive資料來源,或將Hive資料來源的資料同步至其他資料來源。同時,可根據需要選擇離線同步、全增量同步處理任務等情境執行相關資料同步操作。詳情請參見Data Integration。
二、資料建模與開發
模組 | 說明 | 相關文檔 |
資料建模 | 資料建模是全鏈路資料治理的第一步,沉澱阿里巴巴資料中台建模方法論,從數倉規劃、資料標準、維度建模、資料指標四個方面,以業務視角對業務的資料進行詮釋,讓企業內部實現“數同文”的快速理解與流通。 | |
資料開發 | DataWorks將EMR計算引擎的能力進行了封裝,支援您執行EMR相關的資料同步、資料開發工作單位。
| |
您可結合DataWorks的通用類型節點和引擎計算節點進行複雜的邏輯處理。 主要節點如下:
| ||
節點任務開發完成後,可根據需要執行如下操作:
| ||
營運中心 | 營運中心是一站式巨量資料營運、監控平台,支援即時查看任務的運行狀態,並為異常任務提供智能診斷、重跑等營運操作。它提供智能基準功能,協助您解決重要任務產出時間不可控、海量任務監控難等問題,保障任務產出的時效性。 | |
資料品質 | 資料品質針對資料研發的全鏈路,保障資料可用性。通過對資料品質規則的高效校正,以及與任務調度流程的緊密結合,可以協助使用者第一時間發現品質問題、有效防止資料品質問題擴散,為業務提供高效、可靠、可信賴的資料。 |
二、資料分析
協助您實現線上SQL分析、業務洞察、編輯和分享資料;並支援將查詢結果儲存為圖表卡片,快速搭建可視化資料報告便於日常彙報。詳情請參見資料分析概述。
三、資料治理
註冊EMR叢集至DataWorks後,DataWorks將自動採集您引擎下的中繼資料,您可前往資料地圖概述進行查看;同時,也可進入資料治理中心概述,查看DataWorks檢測的待治理問題,進行相關資料治理操作。
模組 | 說明 | 相關文檔 |
資料地圖 | DataWorks資料地圖提供了企業級資料管理平台,能夠基於統一中繼資料的底層建設,提供資料對象的管理和盤點的能力,以及資料對象的快速尋找和深度理解的能力。 | |
資訊安全中心 資料保護傘 核准中心 | 資訊安全中心是集資料資產分級分類、敏感性資料識別、資料授權管理、敏感性資料脫敏、敏感性資料訪問審計、風險識別與響應於一體的一站式資料安全治理介面,協助使用者落地資料安全治理事項。 | |
資料治理中心 | 資料治理中心針對多個治理領域,通過資料領域規則沉澱、自動識別資產待最佳化問題項、覆蓋事後及事前的治理最佳化策略等方式協助使用者主動式、體系化完成資料治理工作。 |
四、資料服務
DataWorks資料服務旨在為企業提供全面的資料服務及共用能力,協助企業統一管理面向內外部的API服務。詳情請參見資料服務概述。
五、開放平台
DataWorks支援開放能力,協助您快速實現各類應用系統對接DataWorks、方便快捷的進行資料流程管控、資料治理和營運,及時響應應用系統對接DataWorks的業務狀態變化。
類別 | 描述 | 相關文檔 |
OpenAPI | DataWorks開放平台的OpenAPI功能,為您提供開放API能力,通過開放API實現本地服務和DataWorks服務的互動,提升企業巨量資料處理效率,減少人工操作和營運工作,降低資料風險和企業成本。 | |
開放事件 | DataWorks開放平台的開放事件(OpenEvent)功能,為您提供訊息訂閱服務,通過訂閱DataWorks事件狀態、應用系統對接DataWorks、即時擷取相關內容的狀態變化,協助您及時響應相應事件,滿足個人化決策需求。 | |
擴充程式 | DataWorks通過OpenEvent為您提供訊息發送訂閱功能,您可將服務程式註冊為DataWorks的擴充程式,通過擴充程式來卡點並響應訂閱的事件訊息,實現通過擴充程式對特定事件進行訊息通知與流程管控。 |
附錄:EMR叢集配置建議
在DataWorks運行EMR任務時可選擇多種EMR組件,不同組件運行任務時的最優配置存在差異,您在配置EMR叢集時請參考下文,根據實際情況選擇。
Kyuubi組件
在生產環境配置Kyuubi組件時,建議將
kyuubi_java_opts
記憶體大小調整至10g及以上;將kyuubi_beeline_opts
記憶體大小調整至2g及以上。Spark組件
由於Spark組件記憶體預設值較小,您可在
spark-submit
命令列中添加設定記憶體大小的命令,修改記憶體預設值為合適大小。您可根據所使用的EMR叢集規模情況調整Spark組件以下配置項:
spark.driver.memory
、spark.driver.memoryOverhead
、spark.executor.memory
至合適大小。
重要僅DataWorks的EMR Hive、EMR Spark及EMR Spark SQL節點支援血緣功能。其中,EMR Hive節點支援表及列血緣,Spark類型節點僅支援表血緣。
更多Spark組件的配置詳情,請參見Spark Memory Management。
HDFS
您可根據所使用的EMR叢集規模情況調整HDFS的以下配置項:
hadoop_namenode_heapsize
、hadoop_datanode_heapsize
、hadoop_secondary_namenode_heapsize
、hadoop_namenode_opts
至合適大小。