注册
ETL 新手入门友好版 && DIS 学习报告
专栏/技术分享/ 文章详情 /

ETL 新手入门友好版 && DIS 学习报告

夏雨雨雨雨雨 2026/09/30 159 0 0
摘要

ETL 新手入门友好版 && DIS 学习报告

ETL 安装部署

一、ETL 概述

1.1 ETL 介绍

ETL是**Extract(抽取)、Transform(转换)、Load(加载)**的缩写,是数据从源端流向目标端的完整处理流程。

简单来说,ETL做的事情就是:从多个异构数据源中提取数据,经过清洗、转换、标准化处理后,加载到目标数据仓库或数据库中。

1.2 ETL的工作原理

ETL流程包含三个核心阶段:

阶段 功能说明
抽取(Extract) 从源端系统(Oracle、MySQL、文件等)读取数据,识别增量或全量数据
转换(Transform) 数据清洗(去重、补全)、数据标准化(格式统一)、数据映射(源字段→目标字段)、数据聚合与计算
加载(Load) 将转换后的数据写入目标系统,支持全量加载、增量加载、批量写入等策略

1.3 ETL解决的核心问题

ETL系统的核心价值在于解决数据孤岛问题。在企业中,业务数据往往分散在不同的数据库、文件系统中,ETL能够将这些分散的数据整合到一个统一的数据仓库中,为BI分析、报表生成、经营决策提供一致的数据基础。

1.4 ETL的实际应用场景

数据仓库构建:将多个业务系统的数据汇聚到数据仓库中,支持企业级数据分析

异构数据库迁移:在系统升级或数据库替换时,完成跨数据库的数据迁移

实时数据同步:将源端增量数据持续同步到目标端,保持数据一致性

数据质量治理:在数据流转过程中完成清洗、去重、标准化操作

二、ETL 安装

2.1 安装过程

通过xftp将dmetl_20230922_x86_linux_64_V4.0.3.64_rev140189.bin安装包传到/opt/dm目录下:

[root@localhost dm]# cd /opt/dm/ [root@localhost dm]# ls dm8_20260509_x86_centos6_64.iso dm.key dm8_20260509_x86_centos6_64_sec_8.1.5.8_dmdci.zip dmocci dm8_20260509_x86_centos6_64_sec_8.1.5.8_symbols.zip dmocci2 DM8 - DCI Program.pdf dmoci DM8 - dmocci2.README dm.sql dmarch.ini monitor_dmap.sh dmdci nmon.dat dmetl_20230922_x86_linux_64_V4.0.3.64_rev140189.bin sqllog.ini

授予/opt/dm执行权限,并将属主和属组给dmdba:

[root@localhost dm]# chown -R dmdba:dinstall /opt/dm [root@localhost dm]# chmod -R 755 /opt/dm

开始安装:

[root@localhost dm]# ./dmetl_20230922_x86_linux_64_V4.0.3.64_rev140189.bin -i Extract install files......... 1.英文(English) 2.简体中文(简体中文) 请选择安装语言[2.简体中文(简体中文)]:2 1.免费试用达梦数据交换平台 2.使用已申请的Key文件 验证许可证文件[1.免费试用达梦数据交换平台]: 免费试用Key文件限制信息如下: 有效日期:2026-12-01 用户名称:ETL试用用户 版本类型:标准版 数据源数目:无限制 硬件ID:无限制 1.标准版 2.自定义 安装类型[1.标准版]: 1.服务器 2.客户端 所需磁盘空间:1,736 MB 安装目录: [/opt/dmetl]/home/dmdba/dm/dmetl 该路径不为空,是否继续安装?[Y or N]y 安装路径可能存在覆盖安装 正在安装 正在创建快捷方式 安装成功 1.使用内置数据库 2.使用外置数据库 数据库类型:[1.使用内置数据库]:2 1.DM6 2.DM7 3.Oracle 4.SqlServer 5.DB2 6.Mysql 7.DM8 数据库类型:[2.DM7]:7 数据库IP:localhost 数据库端口:5236 数据库名称:默认 用户名:SYSDBA 使用默认连接信息?[Y or N]y 密码:Sysdba%_025 初始化元数据库[Y or N]:y 导入示例工程[Y or N]:n 正在检测初始化环境 正在配置元数据库信息 正在初始化元数据库 达梦数据交换平台服务 1.自动 2.手动 启动方式:[2.手动]2 正在创建达梦数据交换平台服务 达梦数据交换平台 V4.0 安装完成 更多安装信息,请查看安装日志文件: /home/dmdba/dm/dmetl/log/install.log

2.2 修改配置文件参数

需修改/home/dmdba/dm/dmetl/server/dmetl_svc.conf

[root@localhost dm]# cd /home/dmdba/dm/dmetl/server/ [root@localhost server]# ls configuration dmetl_service_restart.sh dmetl_service_stop.sh dmetl_stop.sh drivers dmetl dmetl_service_start.sh dmetl_start.sh dmetl_svc.conf dropins [root@localhost server]# vi dmetl_svc.conf

修改wrapper.ping.timeout:

wrapper.ping.timeout=10

2.3 替换 JDBC 驱动

将/home/dmdba/dm/dmetl/server/drivers/下的Dm8JdbcDriver.jar

替换为目的库/home/dmdba/dm/dmdbms/drivers/jdbc下的DmJdbcDriver8.jar

[root@localhost server]# cd /home/dmdba/dm/dmetl/server/drivers/ [root@localhost drivers]# ls commons-lang-2.6.jar ImpalaJDBC41.jar commons-logging-1.2.jar infobright-mysql.jar db2jcc.jar informix.jar db2jcc_license_cu.jar jackcess-2.0.9.jar derbyclient.jar jconn3.jar derby.jar jdbcT4-2.4.0.jar derbyLocale_zh_CN.jar kingbase8jdbc.jar derbynet.jar kingbasejdbc.jar Dm4JdbcDriver.jar mariadb.jar Dm5JdbcDriver.jar mpp-connector-java-8.3.81.51-build-53.2-bin.jar Dm6JdbcDriver.jar mysql-connector-java-5.1.46.jar Dm7JdbcDriver.jar mysql-connector-java-5.1.8.jar Dm8JdbcDriver.jar ojdbc6-12c.jar gbase-connector-java-8.3.81.51-build1.0-bin.jar oracle9.jar Hive oracle.jar hsqldb.jar oscarJDBC.jar ifx10jdbc.jar postgreSQL.jar ifx10jdbcx.jar sqljdbc2000.jar ifx10lang.jar sqljdbc41.jar ifx10lsupp.jar sqljdbc4.jar ifx10sqlj.jar sqljdbc.jar ifx10tools.jar tdgssconfig.jar ifx12jdbc.jar terajdbc4.jar ifx12lang.jar ucanaccess-2.0.9.4.jar ifx12lsupp.jar updb6.jar ifx12tools.jar vertica-jdbc.jar [root@localhost drivers]# mv Dm8JdbcDriver.jar Dm8JdbcDriver.jar_bak [root@localhost drivers]# cd /home/dmdba/dm/dmdbms/drivers/jdbc/ [root@localhost jdbc]# ls dialect DmJdbcDriver11.jar DmJdbcDriver7.jar readme.txt dm8-oracle-jdbc-jre6-wrapper.jar DmJdbcDriver6.jar DmJdbcDriver8.jar [root@localhost jdbc]# cp DmJdbcDriver8.jar /home/dmdba/dm/dmetl/server/drivers/Dm8JdbcDriver.jar [root@localhost jdbc]# cd /home/dmdba/dm/dmetl/server/drivers [root@localhost drivers]# ls commons-lang-2.6.jar ImpalaJDBC41.jar commons-logging-1.2.jar infobright-mysql.jar db2jcc.jar informix.jar db2jcc_license_cu.jar jackcess-2.0.9.jar derbyclient.jar jconn3.jar derby.jar jdbcT4-2.4.0.jar derbyLocale_zh_CN.jar kingbase8jdbc.jar derbynet.jar kingbasejdbc.jar Dm4JdbcDriver.jar mariadb.jar Dm5JdbcDriver.jar mpp-connector-java-8.3.81.51-build-53.2-bin.jar Dm6JdbcDriver.jar mysql-connector-java-5.1.46.jar Dm7JdbcDriver.jar mysql-connector-java-5.1.8.jar Dm8JdbcDriver.jar ojdbc6-12c.jar Dm8JdbcDriver.jar_bak oracle9.jar gbase-connector-java-8.3.81.51-build1.0-bin.jar oracle.jar Hive oscarJDBC.jar hsqldb.jar postgreSQL.jar ifx10jdbc.jar sqljdbc2000.jar ifx10jdbcx.jar sqljdbc41.jar ifx10lang.jar sqljdbc4.jar ifx10lsupp.jar sqljdbc.jar ifx10sqlj.jar tdgssconfig.jar ifx10tools.jar terajdbc4.jar ifx12jdbc.jar ucanaccess-2.0.9.4.jar ifx12lang.jar updb6.jar ifx12lsupp.jar vertica-jdbc.jar ifx12tools.jar

2.4 启动 ETL 服务

/home/dmdba/dm/dmetl/server/dmetl_service_start.sh Starting DmetlService... Waiting for DmetlService...... running: PID:75349 Press enter to continue

三、导入 ETL 规则

3.1 打开 ETL4 图形化界面

linux在/home/dmdba/dm/dmetl/client/studio.sh下打开

windows在安装目录\client\studio.exe下打开

[root@localhost dmetl]# cd client/ [root@localhost client]# ls configuration dmetl_cmd.jar dmetl_cmd.sh dropins p2 plugins studio studio.ini studio.sh [root@localhost client]# ./studio.sh

3.2 连接 ETL 服务器

会弹出如下的图形化界面,下述信息都不用动,密码默认输入admin:

image.png

进入后图形化界面如下:

image.png

三、建立ETL规则

四、创建数据源

4.1 添加数据库

找到数据源下方的数据库,右键选择新建数据库数据源:

image.png

在弹出的界面中选择源数据库的类型,输入正确的密码,并命名好源数据库的名称。这里我的源数据库、中间数据库、目的数据库,三这都是同一个数据库。

4.2 在选择的数据库中添加表

在刚才选择的源数据库中添加ETL规则所需要的表,当然,这步应该在最开始操作,不过也不影响,目的是一样的。

#先创建HOTEL模式 CREATE SCHEMA HOTEL; #接着在模式下创建三张表 CREATE TABLE HOTEL.PERSON_INFO ( ID VARCHAR(50) NOT NULL PRIMARY KEY, NAME VARCHAR(50), AGE INT, PHONE VARCHAR(20), GENDER CHAR(10) ); CREATE HOTEL.TABLE "旅客信息一览表" ( "身份证号" VARCHAR(50) NOT NULL, "姓名" VARCHAR(50), "年龄" INT, "联系方式" VARCHAR(20), "性别" CHAR(10), CONSTRAINT PK_旅客信息一览表 PRIMARY KEY ("身份证号") ); CREATE HOTEL.TABLE "旅客信息统计表" ( "统计项目" VARCHAR(50) NOT NULL, "统计值" VARCHAR(50), CONSTRAINT PK_旅客信息统计表 PRIMARY KEY ("统计项目") ); #接着给表中插入源数据 INSERT INTO HOTEL.PERSON_INFO (ID, NAME, AGE, PHONE, GENDER) VALUES ('110101199003071234', '張偉', 35, '13800138001', 'Male'); INSERT INTO HOTEL.PERSON_INFO (ID, NAME, AGE, PHONE, GENDER) VALUES ('110101198512153456', '李娜', 40, NULL, 'Female'); INSERT INTO HOTEL.PERSON_INFO (ID, NAME, AGE, PHONE, GENDER) VALUES ('110101200005017890', '王強', 22, '13900139002', 'M');

查询相关的表信息,确认创建成功:

SELECT OWNER, TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'HOTEL';

image.png

4.3 导入数据库的表

右键数据库HOTEL_Source_DB,选择添加表:

image.png

将我们刚才在源数据库中创建的三张表导入进去。

4.4 新建影子表

右键PERSON_INFO这张表,选择添加影子表增量:

image.png

五、设计工程

5.1 创建工程

点击工程下方的新建工程:

image.png

5.2 创建转换

在工程下找到转换,右键选择新建转换:

image.png

会出来一个画布,在右侧的工具箱中选择组件添加:

image.png

DIS 学习

一、DMDIS 概述

1.1 DMDIS 介绍

DMDIS是达梦官方推出的一站式数据集成平台,集数据迁移、同步、清洗转换于一体。它采用低代码图形化操作界面,用户通过“拖拽”方式即可完成数据流转任务的设计与执行。

1.2 DMDIS的核心特性

特性 说明
集群单机一体 既支持单机模式(适合小型项目),也支持集群模式(满足中大型项目高可用需求)
低代码操作 基于Web图形化界面,通过拖拽组件即可完成数据处理流程设计
异构数据支持 支持达梦、Oracle、MySQL等多种数据库之间的数据迁移与同步
智能数据迁移 根据主机资源自动分片并行迁移,提升迁移效率

1.3 DMDIS的集群架构组件

DMDIS集群模式包含四个核心服务:

组件 职责
管理器(Manager) 提供Web管理界面,用户通过浏览器访问和操作
控制器(Controller) 负责任务调度和集群管理
调度器(Scheduler) 负责任务的定时调度和分发
执行器(Executor) 负责具体数据迁移/转换任务的执行

1.4 DMDIS的工作原理

DMDIS的工作原理遵循ETL的核心流程:通过配置源端和目标端数据源,定义数据读取与写入组件,通过拖拽建立数据流连接,然后执行转换任务完成数据迁移。用户在Web界面上设计转换任务后,后台引擎按配置执行数据抽取、转换和加载操作。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服