DMETL簡單介紹、安裝部署和入門嘗試

一、DMETL的介紹

1.1 概述

我們先來簡單了解一下DMETL。

DMETL是什么?說的簡單一點,DMETL一款數據處理與集成平臺;從功能來說,那DMETL就是對數據同步、數據處理以及數據交換共享提供一站式支持的平臺;從它的意義來說,DMETL就是大幅度降低了用戶使用各種平臺進行大數據整合處理的技術門檻的一個平臺。

這就是DMETL,即達夢數據交換平臺(Dameng Data Exchange Platform)的簡稱。將傳統的ETL工具(Extract、Transform、Loading)與分布式大數據處理平臺相結合,更好地應對大規模數據的實時處理和分析需求,也能更高效地完成數據清洗、過濾和格式化等復雜操作。

1.2功能特點

(1)數據抽取(Extract):能夠從多種數據源中抽取數據,支持關系型數據庫(如 Oracle、MySQL)、NoSQL 數據庫(如 MongoDB)、文件格式(如 CSV、Excel)等。

(2)數據轉換(Transform):提供數據清洗、轉換功能,可以對數據進行格式轉換、去重、合并等操作,并支持靈活的轉換規則。

(3)數據加載(Load):將處理后的數據加載到目標數據源中,支持多種目標數據源。

(4)可視化設計:采用圖形化操作界面,用戶可以通過拖拽和配置的方式快速實現數據的導入和轉換。

(5)高性能與可靠性:支持多節點部署,具備負載均衡和故障轉移功能,能夠滿足大規模數據處理的需求。

(6)易于使用和擴展:降低了使用 Hadoop 和 Flink 等大數據技術的門檻,同時具備良好的可擴展性(通過對數據源適配器的擴展,可以增加系統所支持的數據源,比如JDBC數據源、文件數據源、FTP數據源、XML數據源。通過對消息適配器的擴展,可以增加系統所支持的第三方消息中間件,如JMS)。

1.3應用場景

數據同步:實現不同數據源之間的數據同步,保持數據一致性。

數據交換:用于不同部門或系統之間的數據交換,支持數據的流動和共享。

數據整合:將來自不同來源的數據進行清洗、轉換和整合,存儲到數據中心或數據倉庫中,為數據分析和共享提供支持。

數據倉庫和數據中心建設:是構建數據倉庫、數據中心等數據集成類應用的理想平臺。

這里找了個圖片來介紹一下DMETL的功能

二、系統架構及核心功能組件

DMETL 的系統架構包括以下主要組件:

調度器:負責流程分解和作業調度,協調多個執行器的功能。

執行器:用于執行作業和轉換流程,支持多節點部署,包括native、yarn和flink。

管理器:提供可視化的 web 管理、設計、監控界面,用于操作、配置和監控系統。

控制器:是調度器和執行器的守護進程,用于遠程修改參數、啟停服務、監控系統資源等。

2.1Web管理平臺

Web管理平臺提供統一的管理界面,主要有以下功能模塊:

數據源管理:數據源、數據集的統一管理和維護;

狀態監控:系統各個部件(調度器、執行器、控制器)以及作業的狀態監控,運行日志查詢、統計;

集群管理:執行器、調度器的注冊、版本升級;

流程設計:數據流(轉換)和控制流(作業)的設計調試,流程調度配置;

系統管理:元數據備份、用戶權限、系統參數、系統日志;

2.2共享元數據庫

存儲DMETL的元數據,包括作業定義、數據源信息、調度配置等。它支持多種數據庫作為外置元數據庫,如DM7、MySQL6、Oracle12c、SQLServer2012,內置元數據庫僅支持Derby。

2.3調度器

負責流程分解和作業調度,協調多個執行器的工作,實現負載均衡。調度器不執行流程,只負責作業步驟的分解和分發,以及流程運行日志元數據的寫入,調度器暫不支持主備(HA)模式。

2.4執行器

執行器接收調度器的請求,用于執行作業和轉換流程。支持多節點部署,可以根據需求擴展。包括原生執行器、yarn執行器和flink執行器。原生執行器適用于常規作業,yarn執行器和flink執行器分別支持大數據批處理和流處理。關于這三種執行器,我找了一篇對這三者介紹的比較詳細的博客內容如下:

(1)native本地執行器:

類似于DMETL4的執行引擎,不依賴于yarn以及其它的分布式計算框架,獨立運行。一個系統中本地執行器可以部署多個,多個執行器之間是對等的,除非用戶在配置流程時特別指定,否則作業步驟可以運行在任何一個執行器上。一個系統中理論上可以部署任意多個本地執行器,但是實際能夠支持的數量取決調度器以及元數據庫的支撐能力。

(2)yarn執行器:

yarn執行器僅執行專門的大數據處理流程,不用于執行常規作業步驟(如文件同步,執行sql,設置變量等作業步驟),yarn執行器會把調度器分發過來的轉換流程,通過數據源的切分,得到多個切分后的流程,通過Hadoop MapReduce機制提交到Hadoop集群進行流程的分布式并行執行;同時通過Hadoop YARN機制來管理集群節點的負載問題。

(3)flink執行器:

利用flink框架特性,將ETL流程分解、組合成可以在flink服務器上運行的任務,并將其提交到flink服務器上運行。在每個JobManager和TaskManager中都啟動并維護一個native執行器實例。TaskSlot通過構建微型ETL流程并提交到native執行器實例的方式處理數據;不同TaskSlot之間則利用flink的數據交互系統來傳遞數據。根據部分組件的特性,可支持數據的分片并發讀取、持續讀取并處理、exactly-once的容錯機制等。

2.5控制器

控制器是調度器和執行器的守護進程(在上面的架構圖中沒有畫出),與調度器和執行器部署在同一服務器上,其主要功能是提供遠程管理調度器、執行器的服務。web管理平臺通過控制器可以實現遠程啟停調度器、執行器,遠程對執行器和調度器進行版本升級。

三、安裝部署

我這里安裝的是DMETL4.0版本(截至博客發布日期,市面上使用的DMETL產品大多數是4.0,雖然已經推出5.0但幾乎沒人用,對5.0感興趣的直接去官方文檔搜一下,那里的教程是5.0的)

3.1執行以下語句開始安裝,并按提示進行操作

DMETL連接數據庫后會自動創建相關資源表

3.2啟動服務器

(方法1)執行 server 目錄下的 dmetl_start.sh 腳本文件即可,當出現“Metadata engine started”日志信息時說明達夢數據交換平臺服務器啟動完畢

(方法2)在 server 目錄下執行對應的腳本文件dmetl_service_start.sh來管理達夢數據交換平臺服務

3.3啟動客戶端

在 client 目錄下,執行./studio.sh啟動客戶端,客戶端啟動后,彈出登錄界面,默認用戶名和密碼都是 admin,如果是在遠程工具上執行困難會報錯,建議在虛擬機上直接執行。

四、嘗試使用

DMETL V4.0 的使用通常可以分為五個主要步驟:創建數據源、創建工程、設計轉換、 設計作業和查看運行日志五個步驟。以一個例子說明一下轉換過程,該例子功能是將源庫中的 EMPLOYEE、EMPLOYEE_DEPARTMENT、DEPARTMENT 以及 PERSON 三張有關員工的表整合成一張完整的員工信息表(EMPLOYEEINFO)。作業的功能是控制轉換以及其它任務運行的時間和順序,這里就不演示了。

4.1創建數據源DM8

(1)切換到【數據源】選項卡,在【數據庫】點擊右鍵,選擇【新建數據庫數據源】菜單項,打開新建數據庫數據源對話框

(2)選擇源庫類型,并填入相關信息

(3)右擊數據源,選擇添加表

將 EMPLOYEE、 EMPLOYEE_DEPARTMENT、DEPARTMENT、以及 PERSON 表添加到系統中

(4)添加 SQL 查詢

4.2創建數據源SAMPLE

同上一步一樣新建數據源,添加表EMPLOYEEINFO

4.3創建工程

4.4設計轉換

(1)新建轉換

(2)添加源表

轉換創建成功后系統會自動打開轉換設計器。從工具箱的【數據讀取】標題下面把【表/視圖】組件拖到流程設計器中,然后雙擊圖標,可以打開表數據源的配置對話框

按照下圖配置好各個屬性

(3)增加所屬部門字段

新建數據集緩存,【窗口】菜單中【數據集緩存】,新建數據集緩存;

從工具箱的【數據轉換】標題下面把【數據集查找】組件拖到流程設計器中;

用連接線將流程設計器中的表數據源節點和數據集查找節點連接起來;

(用綠色的線,這里不對)

雙擊【數據集查找】節點,打開數據集查找屬性配置對話框,并按照下圖所示配置好各個屬性值

(4)增加姓名、性別、email 地址、電話號碼字段

按照上一步的方法再次新建一個數據集緩存,拖一個【數據集查找】組件到流程設計器中,并建立好連接,并按照下圖設置好各個屬性

(5)字段值替換

拖動一個【數據清洗轉換】組件到流程設計器中,并建立好連接,并按照下圖所示配置好屬性

(6)添加目的表

從工具箱中的【數據裝載】標題下拖一個【表】組件到流程設計器中,建立好連接并按照下圖配置好各個屬性值

(7)修改節點名稱

在流程設計器中選中節點,然后按 F2 或者使用鼠標單擊節點右鍵,選擇重命名菜單可以編輯節點名稱

(8)添加注釋

將【工具箱】中【輔助工具】中【備注】組件拖到流程設計器中,可以向流程設計器中添加注釋節點

(9)執行流程

經過上述步驟后,最終設計好的流程如下圖所示

保存后點擊綠色執行鍵執行

在表目的組件上點擊右鍵選擇【瀏覽數據】菜單項,可以查看目的表中的數據

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92582.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92582.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92582.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NLP 人工智能 Seq2Seq、K-means應用實踐

基于Java和人工智能的Web應用 以下是基于Java和人工智能的Web應用實例,涵蓋自然語言處理、計算機視覺、數據分析等領域。這些案例結合了沈七星AI或其他開源框架(如TensorFlow、Deeplearning4j)的實現思路,供開發參考: 自然語言處理(NLP) 1. 智能客服系統 使用Java的Op…

Docker 從入門到實戰(一):全面解析容器化革命 | 2025 終極指南

2025 年,全球容器市場規模突破 200 億美元,超過 80% 的企業生產環境運行在容器之上。掌握 Docker 已成為開發、運維乃至架構師的核心競爭力。本文帶你徹底搞懂 Docker 的底層邏輯與核心價值! 一、Docker 是什么?為什么它能改變世界? 想象一下:你開發時運行完美的 Pytho…

Lazada東南亞矩陣營銷破局:指紋手機如何以“批量智控+數據中樞”重構運營生態

在Lazada以“超級APP”戰略滲透東南亞6國市場的進程中,商家正陷入一個結構性矛盾:如何用有限人力高效管理10個國家賬號,卻不被數據孤島拖垮營銷效率,更不因賬號關聯風險引發平臺封禁?傳統多賬號運營依賴“人手一臺設備…

操作系統: 線程(Thread)

目錄 什么是線程(Thread)? 線程與進程之間的關系 線程調度與并發執行 并發(Concurrency)與并行(Parallelism) 多線程編程的四大核心優勢(benefits of multithreaded programmin…

Uber的MySQL實踐(一)——學習筆記

MySQL 是Uber數據基礎設施的核心支柱,支撐著平臺上大量關鍵操作。Uber 擁有一套龐大的 MySQL 集群,如何構建一個控制平面來管理如此大規模的 MySQL 集群,并同時確保零宕機、零數據丟失是一個十分有挑戰性的問題。下面重點介紹 Uber 的 MySQL …

騰訊云EdgeOne產品深度分析報告

一、產品概述騰訊云EdgeOne是騰訊云推出的新一代邊緣安全加速平臺,集成內容分發網絡(CDN)、Web應用防火墻(WAF)、DDoS防護、Bot管理、API安全及邊緣計算能力,致力于為企業提供一站式安全加速解決方案。該平…

Spring Boot 優雅配置InfluxDB3客戶端指南:@Configuration + @Bean + yml實戰

前言 想用Java玩轉InfluxDB 3?要是還靠寫main函數硬編碼配置,那就像穿著睡衣開正式會議,實在有點不靠譜。現代Spring開發套路講究配置和代碼分離,講究優雅和靈活。用@Configuration配合@Bean注解,再加上yml配置文件集中管理連接信息,簡直是為代碼打扮一身西裝,既整潔又…

記錄:rk3568適配開源GPU驅動(panfrost)

rk3568采用的GPU是Mali-G52,該型號的GPU已在5.10內核的panfrost驅動中被支持。下面記錄下移植過程。 1.內核dts修改: kernel 5.10: arch/arm64/boot/dts/rockchip/rk3568.dtsigpu: gpufde60000 {compatible "rockchip,rk3568-mali", "ar…

SMBIOS詳解:系統管理BIOS的工作原理與實現

1. SMBIOS概述 SMBIOS(System Management BIOS)是由DMTF(分布式管理任務組)制定的行業標準,旨在為計算機系統提供統一的硬件信息描述框架。它定義了計算機硬件組件(如處理器、內存、主板等)的標…

8.5 CSS3多列布局

多列布局 CSS3之多列布局columns CSS3中新出現的多列布局(multi-column)是傳統HTML網頁中塊狀布局模式的有力擴充。這種新語法能夠讓WEB開發人員輕松的讓文本呈現多列顯示。 設置列寬 column-width: | auto 設置對象的寬度;使用像素表示。 auto&#…

Chrome插件快速上手

目錄 前言 一、瀏覽器插件的主要功能 二、插件的工作原理 插件結構 manifest.json icons background.js content-scripts 三、插件例子 popup popup.html popup.js styles.css background.js content-script.js manifest.json 四、其它 前言 本文不做特殊說明…

moment和dayjs

一:moment和dayjs 區別moment 大且可變、維護模式;dayjs 小且不可變、插件化、tree?shaking 友好。antd v4 用 moment;antd v5 用 dayjs。請在同一項目中統一其一,避免混用導致組件報錯。二: antd 4.24.16&#xff08…

Flutter Packge - 組件應用

一、組件創建1. 在工程根目錄創建 packages 目錄。mkdir packages #創建文件夾 cd packages 2. 創建純 Dart Package(適合工具類/UI組件)。flutter create --templatepackage common_network二、組件配置1. 在 common_network 的 pubspec.yaml 中添加…

基于雙塊輕量級神經網絡的無人機拍攝的風力渦輪機圖像去霧方法

基于雙塊輕量級神經網絡的無人機拍攝的風力渦輪機圖像去霧方法 UAV-Taken Wind Turbine Image Dehazing With a Double-Patch Lightweight Neural Network 我是菜雞!我是菜雞!我是菜雞! 如果老師及學姐學長對該文有任何意見,請…

Spring AI Alibaba 項目接入阿里云百煉平臺大模型

1 依賴jdk 21 springboot 3.4.5 spring-ai-alibaba-starter-dashscope 1.0.0.2<properties><java.version>21</java.version><spring-ai.version>1.0.0</spring-ai.version><spring-ai-alibaba.version>1.0.0.2</spring-ai-alibaba.v…

電腦和手機訪問網站,自動檢測跳轉不同網站

自動檢測跳轉不同網站 自動檢測設備手機或電腦來跳轉不同網頁 開箱即用&#xff0c;不過需要自己修改一下跳轉鏈接 源碼截圖&#xff1a; 下載地址&#xff1a;電腦和手機訪問網站&#xff0c;自動檢測跳轉不同網站.zip - 藍奏云

Spring Boot 集成 ShardingSphere 實現讀寫分離實踐

Spring Boot 集成 ShardingSphere 實現讀寫分離實踐 在高并發的業務場景中,數據庫往往是系統性能的瓶頸。為了提高系統的吞吐量和穩定性,讀寫分離是一種常見的優化方案。本文將詳細介紹如何使用 Spring Boot 結合 ShardingSphere 實現數據庫的讀寫分離,并提供完整的配置和實…

以rabbitmq為例演示podman導出導入鏡像文件

1. 導出鏡像為 tar 文件 將鏡像保存為壓縮包&#xff08;默認格式為 docker-archive&#xff09;&#xff1a; podman save -o rabbitmq_management.tar docker.io/rabbitmq:management-o&#xff1a;指定輸出文件名&#xff08;如 rabbitmq_management.tar&#xff09;。鏡像名…

LIS(最長上升子序列)與LCS(最長公共子序列)

最長上升子序列定義&#xff1a;給出一個數字序列&#xff08;arr&#xff09;&#xff0c;求出其中長度最長的數值嚴格遞增的子序列做法一&#xff1a;使用動態規劃&#xff0c;我們定義dp[i]為以arr[i]結尾的最長上升子序列的長度。#include<bits/stdc.h> using namesp…

javaSE(基礎):5.抽象類和接口

抽象類一.理解抽象類思維&#xff1a;假如我想定義一個Shape&#xff08;圖形類&#xff09;類&#xff0c;我在這個類中寫了一個draw()方法&#xff0c;但是這個方法是不能用來描述圖形形狀的&#xff08;不能有方法體&#xff09;&#xff0c;因為我只要對他進行了準確描述&a…