DMETL的使用通常包括创建数据源、创建工程、设计转换与作业和配置调度等步骤,下面将以一个例子对这些过程进行演示。您也可以仿照例子中所述的步骤逐步进行操作,获取一次完整的使用体验,这将有助于您快速理解DMETL的使用方法。
某旅店服务人员使用数据库记录和统计旅客信息,他在HOTEL模式下创建了表"PERSON_INFO",其结构如下:
列名 | 数据类型 | 是否为空 | 说明 |
---|---|---|---|
ID | VARCHAR(50) | 非空 | 身份证号,主键 |
NAME | VARCHAR(50) | 可空 | 姓名 |
AGE | INT | 可空 | 年龄 |
PHONE | VARCHAR(20) | 可空 | 手机号码 |
GENDER | CHAR(10) | 可空 | 性别 |
ID列记录旅客的身份证号,作为旅客信息的唯一性标识。当有新入住的旅客时,在该表中录入一行数据;若发现某旅客的信息录入错误,则修改对应行的数据;当旅客离店时,从该表中删除对应的行数据。
由于各种原因,"PERSON_INFO"表中的信息比较混乱,且表名和列名均为英文,不方便阅览。于是,服务人员又在HOTEL模式下创建了表"旅客信息一览表",其表结构如下:
列名 | 数据类型 | 是否为空 | 说明 |
---|---|---|---|
身份证号 | VARCHAR(50) | 非空 | 主键 |
姓名 | VARCHAR(50) | 可空 | |
年龄 | INT | 可空 | |
联系方式 | VARCHAR(20) | 可空 | |
性别 | CHAR(10) | 可空 |
"PERSON_INFO"表中的原有数据经过处理后,转移到表"旅客信息一览表"中,数据的处理与列名替换规则如下:
- NAME中的繁体字替换为简体字
- 根据ID(身份证号)计算AGE(年龄),替换录入的原始值
- PHONE值为空的,标注为"未填写"
- GENDER中的英文表示全部修改为"男/女"
- "PERSON_INFO"表中的列ID、NAME、AGE、PHONE、GENDER分别对应”旅客信息一览表“中的身份证号、姓名、年龄、联系方式、性别
另外,服务人员还创建了一张反映旅客统计信息的表“旅客信息统计表”,其表结构如下:
列名 | 数据类型 | 是否为空 | 说明 |
---|---|---|---|
统计项目 | VARCHAR(50) | 可空 | 主键 |
统计值 | VARCHAR(50) | 可空 |
每当"PERSON_INFO"表中的数据产生变化(新增、修改、删除) 时,必须在一分钟内自动体现到"旅客信息一览表"和“旅客信息统计表”中。
上述数据处理目标中包含了数据清洗转换、数据同步、任务调度等类型的需求;为了满足这些需求,他尝试使用DMETL搭建一套数据处理系统。