TIETL基础功能

TIETL

目录

第1章 ETL整体介绍

1.1 什么叫ETL:

1.2 TIETL产品概述:

1.3 TIETL产品架构:

1.4 TIETL目录结构:

第2章 TIETL工具介绍

2.1 TIETL的集成开发工具:

2.2 TIETL服务器:

2.3 TIETL资源库:

2.4 TIETL监控管理中心

2.5 四个工具究竟是如何工作的:

第3章 TIETL基本概念

3.1 TIETL的流程:

3.2 TIETL的内部数据格式:

3.3 TIETL支持的数据类型:

3.4 TIETL转换流程的基本要素:

3.4.1 数据的分发方式:

3.4.2 数据的合并方式:

3.4.3 数据的并行处理:

3.4.4 数据记录的再分配:

3.4.5 数据的异常处理:

3.5 TIETL任务流程的基本要素:

第4章 如何使用TIETL

4.1 场景说明:

4.2 实施方法:

4.2.1 启动集成开发工具

4.2.2 构建资源库:

4.2.3 创建数据库连接:

4.2.4 构建转换:

4.2.5 测试运行:

4.2.6 部署执行:

第5章 触发器实时增量同步

5.1 场景说明:

5.2 实施方法

第6章 时间戳实时增量同步

6.1 场景说明:

6.2 实施方法

  1. ETL整体介绍

1.1 什么叫ETL:

ETL是Extract(抽取)、Transform(转换)、Load(加载)首字母的缩写,其主要提供数据抽取、数据转换、数据加载功能。数据抽取即从源数据源系统抽取目的数据源系统需要的数据;数据转换即将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误、不一致的数据进行清洗和加工;数据加载即将转换后的数据装载到目的数据源。

1.2 TIETL产品概述:

TIETL作为东方通科技公司的企业数据集成产品,提供对企业数据的集成功能。通过TI-ETL用户可以从不同结构的数据源中抽取数据(Extract),对数据进行复杂的加工处理(Transform),最后将数据加载到各种存储结构中(Load)。例如实现从多个异构的数据源(不同数据库、结构化文件等)抽取数据,并加工成统一的数据格式,最后加载到数据仓库中,供BI等应用使用。

TIETL提供一个简单易用的开发、管理工具,提供从数据集成逻辑的设计、开发、调试、部署,到运行、管理、监控各个生命周期不同阶段的集成开发工具。通过TI-ETL可以实现对数据集成流程的开发和部署;通过监控和日志功能,可以实现对数据集成的运行过程进行实时监视,对集成流程历史数据进行分析。

TIETL提供大量的任务组件和转换组件,如多源的数据合并、数据的路由、数据行列转换、字典表查询、定时重启、循环调度、流程告警等,用户可以通过拖拽方式快速完成各种复杂的数据集成需求和集成的调度控制,无需人工编码,快速构建数据集成应用。

1.3 TIETL产品架构

TIETL产品架构由统一集成开发工具TIETL Studio、TI-ETL服务器、资源库、统一管理平台四大核心部分组成。

TI-ETL集成开发工具提供对TIETL服务器和资源库的管理功能。

TI-ETL服务器包含两个执行引擎,任务引擎和转换引擎,分别实现对任务的调度管理和完成实际数据抽取、加工处理、加载的执行。此外TI-ETL服务器基于HTTP协议开放服务器的监控管理等功能。

TI-ETL资源库用于存储TI-ETL的元数据,包括TI-ETL的ETL服务器的配置信息、任务流程信息、转换流程信息、基础资源信息(如数据库连接)等。

TI-ETL统一管理平台,用于将分布式网络环境中部署的TI-ETL服务器运行实例集中统一管理。

1.4 TIETL目录结构

           /TI-ETL/TIETL

                |

                |-agent

                |       |-……

                |       |-data

                             |-……

                             |-log

                             |-……

                |       |-……

                |       |-etc

                             |-timp-agent.xml

                |       |-……

                |-config

                |       |-……

                |       |-server-config.xml

                |       |-statisticscomponent.xml

                |       |-……

                |-deploy

                |-……

                |-libext

                |       |-……

                |       |-JDBC

                |       |-……

                |-logs

                |-samples

                |-……

                |-tong-ui.bat/tong-ui.sh

                |-tong-server.bat/ tong-server.sh

                |-tong-stopserver.bat/ tong-stopserver.sh

                |-tong-serverAndagent.bat/ tong-serverAndagent.sh

                |-tong-stopServerAndAgent.bat/ tong-stopServerAndAgent.sh

                |-……

  1. Agent文件夹是TIETL连接监控中心的代理节点目录;
  • agent/log下面存放了代理节点的日志,日志名称为karaf.log。
  • agent/etc/ timp-agent.xml文件是连接管理中心的配置文件。如果安装时没有设置监控管理中心IP和端口,则需要修改此文件。
  1. Config文件夹是TIETL的服务器的配置目录;
  • 想要修改TIETL服务器IP地址和端口号,TIETL服务器日志相关配置则需要修改server-config.xml文件。如果在安装过程中没有修改TI-ETL服务器的IP为实际IP时,则需要修改此文件。
  • statisticscomponent.xml是TIETL服务器的数据处理统计配置文件。具体使用方式可以查看《TongIntegratorETL2.1系统_工具使用手册》。
  1. Deploy文件夹是用来存放TIETL部署后的流程文件夹;
  2. Libext文件夹是用来存放各种TIETL运行时引用到的jar包的文件夹;
  • 数据库连接所使用到的jdbc驱动请放在JDBC文件夹下面。
  1. Logs文件夹用来存放TIETL服务器、UI日志文件的文件夹;
  2. Samples文件夹用来存放所有提供出来示例的文件夹;
  3. tong-ui.bat/tong-ui.sh是TIETL集成开发工具的启动脚本;
  4. tong-server.bat/ tong-server.sh是TIETL服务器的启动脚本;
  • 如果不需要连接监控管理中心,运行时只启动这个脚本就可以了。
  1. tong-stopserver.bat/ tong-stopserver.sh是TIETL服务器的停止脚本;
  • 如果只停止TIETL服务器不停止监控代理,只允许这个脚本即可。
  1. tong-serverAndagent.bat/ tong-serverAndagent.sh是TIETL服务器和监控代理的启动脚本;
  • 如果需要连接监控管理中心,运行时必须启动这个脚本。
  1. tong-stopServerAndAgent.bat/ tong-stopServerAndAgent.sh是TIETL服务器和监控代理的停止脚本;
  • 如果停止TIETL服务器和监控代理,则需要执行这个脚本。

  1. TIETL工具介绍

2.1 TIETL的集成开发工具:

启动开始菜单/TIETL/TI-ETL/启动 TIETL 集成开发工具的快捷方式,或者启动tong-ui脚本。

TIETL集成开发工具是一个集开发、调试、配置、部署、执行、监控、日志、管理等功能于一体的平台。通过该平台实现从数据集成需求到实现的快速转化,并实现对整个生命周期的管理。

2.2 TIETL服务器:

启动开始菜单/TIETL/TI-ETL/启动 TIETL服务器的快捷方式,或者启动tong-serverAndagent脚本。会弹出两个命令行窗口,一个是真正的TIETL服务器,一个是TIETL的监控代理。

TIETL服务器:

TIETL的监控代理:

TI-ETL服务器是一个TI-ETL的逻辑节点,包含对数据集成流程的执行能力,并通过HTTP协议对外开放对服务器的管理接口。

TI-ETL服务器还提供了对运行时的监控和管理功能,这些功能都通过HTTP接口对外开放。通过这些接口,可以实现对TI-ETL的远程管理,如流程部署、流程控制、转换监控、日志查看等功能。

TI-ETL服务器提供了完善的认证授权机制,只有通过认证和授权的用户,才可以通过监控管理接口实现对服务器的管理和监控。

2.3 TIETL资源库:

TI-ETL资源库用于持久化存储节点信息、数据集成流程、数据库信息、基础资源信息等元数据。

TI-ETL提供基于关系型数据库和文件系统的资源库。一般文件系统资源库为本地库,在开发阶段使用;基于关系型数据库的资源库为共享库,可以作为开发库和生产库使用。

TI-ETL 集成开发工具可以连接多个资源库,在数据集成的开发调试阶段,可以将任务流程、转换流程和其他资源存储在开发库中。而对于已经完成开发调试,进入发布阶段的流程,可以方便的导入到生产库。

TI-ETL服务器也可以配置一个或多个资源库,并可以根据部署描述符从资源库中获取实际的流程信息,根据这些信息实例化实际运行的集成流程。

资源库的使用不仅可以方便数据集成流程的开发和管理,还可以有效提高数据集成流程的部署效率。

2.4 TIETL监控管理中心

启动开始菜单/TIETL/监控管理中心/启动监控管理中心的快捷方式,或者启动Start脚本。会弹出两个命令行窗口,一个是真正的管理中心服务器窗口,一个是管理中心的数据库mysql窗口。

管理中心服务器:

管理中心数据库:

管理中心页面:

TIETL监控管理中心,用于将分布式网络环境中部署的TI-ETL服务器运行实例集中统一管理。

监控管理中心,提供对服务器、部署在服务器里的任务流程、转换流程的运行状态、运行日志、执行性能进行查看,远程的启动、停止、暂停、恢复等操作;提供统一的权限管理功能,包括用户、组织机构、角色的定义,以及从功能级、数据级等对用户进行细粒度的授权;提供错误告警功能,允许用户自定义告警规则,支持从告警对象、告警类型、告警级别、告警信息内容等信息中提取关键字定义接受规则、拒绝规则,只有符合规则的告警信息才通知用户,并支持用户自定义告警方式,默认为邮件通知;提供对服务器所在物理机器的CPU、内存、硬盘资源、网络IO等性能指标进行实时监控。

监控管理中心,提供自定义面板功能,允许用户将自己关注的功能、监控对象等定义在一个页面上集中展示,并支持将自定义的面板设置为平台主页,每次登录时直接进入到该面板,非常方便管理人员。

监控管理中心提供基于OSGi技术的插件管理功能,非常方便地安装和卸载已有的功能插件,同时提供插件开发机制和规范,方便用户扩展开发自己的插件并集成到平台中,集中管理自己的应用。

2.5 四个工具究竟是如何工作的

  1. 开发人员使用TI-ETL的集成开发工具,进行业务流程的开发和调试工作;
  2. 开发调试完成的流程所有相关信息,统一存储到TI-ETL资源库中,作为团队资源共享及运行时引用;
  3. 开发调试完成后把流程部署到TI-ETL服务器上;运行时,根据流程id信息从TI-ETL资源库中获取流程配置信息;
  4. 管理人员使用TI-ETL的集成开发工具提供的监控功能,或者通过监控管理中心、或者直接使用监控管理接口,从TI-ETL服务器中获取流程监控信息,或者远程控制服务器、流程的运行状态。

  1. TIETL基本概念

3.1 TIETL的流程

TIETL为完成数据集成需求,使用TIETL集成开发工具编排的任务流程和转换流程统称为TIETL的流程。

什么需求编排成任务?什么需求编排成转换呢?

转换流程可以完成数据的抽取、转换、加载。也就是说具体的业务流程基本上编排成转换就能实现。例如从某张表抽取数据写入某数据库。那么如果想定时每天晚上11点执行一次呢?就需要编排任务定时调度这个抽取入库转换。因此可以得出结论:实现具体业务功能的编排为转换,任务流程都是辅助工作,定时调度,或者执行的校验等等。

这是一个转换

这是一个任务

构成转换流程和任务流程的原子处理逻辑叫做组件。每一个组件实现一个具体的功能。TIETL内置很多组件,可以根据需要使用这些组件来完成数据集成的需求。

那么数据是如何在组件间流转的呢?首先要知道组件之间传输的数据格式是什么。

3.2 TIETL的内部数据格式:

在TIETL中,数据是以行为单位进行处理,TIETL通过两个对象描述一个数据行:数据对象和元数据对象。数据对象实际的行数据,由一个或多个数据列(字段)组成;元数据对象用于描述数据对象,包括数据对象中每个列(字段)的类型、长度、格式等。

实际上就是一张二维表:

  • 数据的单位是记录;
  • 数据流是记录从一个组件到另一个组件的移动;
  • 记录是0个或多个字段的集合;
  • 字段可以包含任何TIETL数据类型的数据。

3.3 TIETL支持的数据类型:

  1. 各种来源的数据进入TI-ETL中后被转换成内部的数据类型。内部的数据类型包括:

类型

内部表示

描述

参数

String

String

字符数据

长度

Number

Double

双精度浮点数

格式,长度,精度,货币符号,小数点符号,千位符号

Integer

Long

64位整型

格式,长度,货币符号,位符号

BigNumber

BigDecimal

任意精度的数字

格式,长度,精度,货币符号,小数点符号,千位符号

Date

Date

日期时间类型,精度到毫秒

格式,区域

Boolean

Boolean

布尔值

长度

Binary

byte[]

图片、声音、视频或其他二进制数据

  1. 同时不同的数据类型间可以进行转换:

To\From

String

Number

Integer

BigNumber

Binary

Date

Boolean

String

Number

O

Integer

O

BigNumber

O

Binary

O

O

O

O

O

Date

O

O

Boolean

O

O

3.4 TIETL转换流程的基本要素:

转换流程由转换组件和连接组成,用于处理记录或数据的操作包括抽取、转换和加载。转换组件是转换中的核心构造块,能够读和写数据记录。连接是一个单向通道,定义了组件间的数据路径,代表了两个组件间的记录缓冲区,称作记录集合。支持并行处理,允许多个组件可以在不同的线程中以并发方式执行。

每一个转换流程都有一个结果,结果的内容:组件执行结果的数据(包括数据对象和元数据对象),还有执行的结果(成功或失败)等。

3.4.1 数据的分发方式:

如果转换流程中一个组件,接着多个下级组件,数据的分发,分为两种:

  1. 复制:所有的数据都发给每个下级节点;

拉线的时候选择复制:

  1. 分发:下级组件轮流接收记录;

拉线的时候选择分发:

3.4.2 数据合并方式:

如果转换流程中多个组件,接着一个下级组件,那么数据是要合并的。

数据合并是有要求的:多个上级组件的元数据必须相同

3.4.3 数据的并行处理:

转换组件支持并发处理,可以指定一个组件的副本数量,运行时会启动多个副本(实例),每个副本运行在一个线程中。前一组件记录轮流发给每一个实例(记录分发),副本输出的记录在后续组件中合并(记录合并)。

实际上相当于SQL查询组件分发数据给三个javascript数据处理组件,然后在进行记录合并执行数据库记录插入:

3.4.4 数据记录的再分配:

当前一个组件的副本数量和后一个组件的副本数量都不为1时,会有两种情况:

  1. 前一个组件的副本数量和后一个组件的副本数量一致:数据记录会再次分配,这样会影响使用效率。

效果相当于:

  1. 前一个组件的副本数量和后一个组件的副本数量不一致:组件将形成多条流水线,不会导致数据记录的再次分配。

效果相当于:

因此在编排转换的时候尽量做到前一个组件和后一个组件副本数量一致

3.4.5 数据的异常处理

转换组件支持两种方式的异常处理:

  1. 转换组件本身可以处理异常:

有的组件本身支持错误处理,可以输出错误到异常错误文件。

  1. 组件连接可以处理异常:

组件连接拉线的时候会询问是否是错误处理流程,前一个组件右键可以定义错误处理

可以定义错误个数、错数描述、错误字段名、错误代码等等,设置错误百分比,输出错误。

3.5 TIETL任务流程的基本要素:

任务流程主要是执行一些维护工作,由一个或多个任务组件组成;可以通过任务组件的连接决定组件执行的顺序;

任务组件的连接分为三种:无条件、结果为真、结果为假。

任务组件也有结果,包含结果记录、结果文件、成功与否。其中结果记录主要是通过调用转换组件的“复制记录到结果”属性将数据写入到结果中,而结果记录的传递也不是以流的方式传递的,而是当任务组件结束后,所有的记录一次性地传递给后续组件;结果文件指的是操作过的文件列表;成功与否就是任务执行是否成功,可以根据是否执行成功来做不同的结果分支,辅助业务流程的进行。

  1. 如何使用TIETL 

用一个示例来进行说明一整套TIETL流程开发、部署、运行、监控的过程。

4.1 场景说明

执行一次从数据库A的A1表,到B1表的数据初始同步,A1表和B1表数据结构相似。以oracle数据库为例。

A1表结构如下:

-- Create table

create table SOURCE10

(

  COL1  INTEGER not null,

  COL2  CHAR(20),

  COL3  FLOAT,

  COL4  DATE,

  COL5  VARCHAR2(4000),

  COL6  VARCHAR2(4000),

  COL7  VARCHAR2(4000),

  COL8  VARCHAR2(4000),

  COL9  VARCHAR2(4000),

  COL10 VARCHAR2(4000)

);

-- Create/Recreate primary, unique and foreign key constraints

alter table SOURCE10

  add primary key (COL1)

B1表结构如下:

-- Create table

create table SINK10

(

  COL1  INTEGER not null,

  COL2  CHAR(20),

  COL3  FLOAT,

  COL4  DATE,

  COL5  VARCHAR2(4000),

  COL6  VARCHAR2(4000),

  COL7  VARCHAR2(4000),

  COL8  VARCHAR2(4000),

  COL9  VARCHAR2(4000),

  COL10 VARCHAR2(4000)

);

-- Create/Recreate primary, unique and foreign key constraints

alter table SINK10

  add primary key (COL1)

4.2 实施方法:

首先业务过程为表同步,根据转换、任务的概念,可以判断出使用转换可以完成这个工作。如果定时调度可以使用任务。那么就考虑使用转换组件来完成。初始同步查询A1表,插入B1表,可以选取SQL查询组件,查询A1表的所有值,数据库插入组件插入B1表。

4.2.1 启动集成开发工具

由于需要使用数据库组件,就需要放置数据库驱动,用A库为oracle数据库为例,需要找到oracle的数据库驱动包ojdbc6.jar拷贝到TIETL安装目录\TI-ETL\TIETL\libext\JDBC下。

启动TIETL集成开发工具。

4.2.2 构建资源库:

首先弹出一个资源库连接窗口,点击右上角的图标,创建资源库连接。

选择一个TIETL资源库类型,例如选择文件资源库,点击确定。

选择一个本地资源库目录,设置名称和描述,点击确定。

选择这个文件资源库,点击确定,进入TIETL集成开发界面。

4.2.3 创建数据库连接:

点击工具-资源库-浏览资源库。切换到数据库连接页。

点击图标,增加数据库连接。

根据数据库填写,点击测试,测试数据库是否联通。如果表中包含布尔值,需要切换到高级,勾选支持布尔数据类型。

切换到连接池,可以更改连接池设置。默认启用数据库连接池,初始连接为5,最大连接数为10。

4.2.4 构建转换

点击界面的按钮,选择转换。

打开一个转换1窗口,从左侧资源树中数据库文件夹拖出两个组件:SQL查询和数据库记录插入到转换1中。

把鼠标放到SQL查询上,点击最右侧的图标,长按可以拉出一条线,到数据库插入组件上放手,可以连接两个组件。

双击SQL查询组件,打开组件配置框。

数据库连接选择刚刚创建的oracle,点击获取SQL查询语句按钮,弹出数据库浏览器,选择你需要查询的表,点击确定。

提示是否想SQL包含所有字段名,点击是。

生成了source10表的查询sql,可以根据需要修改sql,比如增加查询条件等等。本示例要求查询出所有的数据。

点击确定,完成SQL查询组件配置。

双击数据库插入组件,弹出插入组件配置。

选择数据库连接为oracle,目标模式为插入表的schema,选择目标表。

反选使用批量插入选项。

切换到数据库字段页面,点击获取字段按钮,由于我的原表,目标表结构完全相同,所以不用进行其他操作。

如果表字段有区别,点击编辑映射,修改表字段和输入流字段对应关系。

转换配置完成,点击保存按钮。

4.2.5 测试运行

点击按钮,弹出运行窗口,选择本地执行,表示在集成开发工具上测试执行。点击确定。

执行结果显示如下:

4.2.6 部署执行

打开资源库,切换到服务器页:

点击右上加号,添加服务器,设置要部署的本机服务器IP(要求server-config.xml已经配置好了IP地址),端口号默认8090,用户名密码:tietl/tietl。点击确定。

server-config.xml配置如下:

启动TIETL服务器。

重新打开转换1。(资源库中添加了新资源,必须重新打开才能获取到),点击运行按钮。弹出运行窗口。选择远程执行,远程主机选择”本机“,点击确定。

弹出服务器运行界面。

可以在这个界面操作转换的启停等等功能。

  1. 触发器实时增量同步

需要掌握前六章以后才可以开始学习本章。

5.1 场景说明:

基于触发器的实时增量同步就是源数据库表的增删改操作可以实时同步到目的数据库中。使用触发器方式,把数据库A的A1表的增删改数据实时同步到B1表中。因此可以选取触发器增量抽取组件和数据库操作组件进行编排。

A1表结构如下:

-- Create table

create table SOURCE10

(

  COL1  INTEGER not null,

  COL2  CHAR(20),

  COL3  FLOAT,

  COL4  DATE,

  COL5  VARCHAR2(4000),

  COL6  VARCHAR2(4000),

  COL7  VARCHAR2(4000),

  COL8  VARCHAR2(4000),

  COL9  VARCHAR2(4000),

  COL10 VARCHAR2(4000)

);

-- Create/Recreate primary, unique and foreign key constraints

alter table SOURCE10

  add primary key (COL1)

B1表结构如下:

-- Create table

create table SINK10

(

  COL1  INTEGER not null,

  COL2  CHAR(20),

  COL3  FLOAT,

  COL4  DATE,

  COL5  VARCHAR2(4000),

  COL6  VARCHAR2(4000),

  COL7  VARCHAR2(4000),

  COL8  VARCHAR2(4000),

  COL9  VARCHAR2(4000),

  COL10 VARCHAR2(4000)

);

-- Create/Recreate primary, unique and foreign key constraints

alter table SINK10

  add primary key (COL1)

5.2 实施方法

新建一个转换,在转换页面,拖出一个触发器增量抽取组件和数据库操作组件。然后连线。

双击编辑触发器增量抽取组件,选择数据库连接、源模式(schema),选择需要抽取的表。要抽取这张表的增删改三种操作,需要勾选监控插入、监控更新、监控删除。

然后点击获取字段按钮。设置主键为匹配字段。

然后需要点击初始化数据库。初始化数据库会在原库中创建TIETL相关的内置表、存储过程、函数等等。(每个库只需要初始化一次就可以了,例如增量抽取多张表,只需要初始化一次即可。)然后点击创建触发器按钮。给这张表创建上触发器,用来监控表操作。

然后在编辑数据库记录操作组件。选择数据库连接、目标模式、目标表。

设置匹配字段,什么是匹配字段,匹配字段是用来更新、删除表的,即设置主键就可以了。实际上就是update语句或者delete语句的where条件。

然后设置更新字段,就是设置需要插入/更新的字段。(注意触发器组件输出的数据会多出一个Operationtype字段)

切换到高级页面。设置操作类型。选择字段名为Operationtype如下图填写。这个Operationtype会记录原表的操作类型。这么设置的含义就是:原表是insert操作对应目的表也是执行插入操作,原表是update操作对应目的表也是执行更新操作,原表是delete操作对应目的表也是执行删除操作。

新建一个任务,拖出一个开始组件、一个转换组件,并拉线。

双击开始组件配置,设置定时时间,由于触发器流程每次只允许一次,那么可以根据自己的同步频率,设置执行时间。如下图为5秒钟执行一次。

双击转换,设置调用的转换。选择第二个资源库,选择刚刚配置的触发器转换。

配置结束,保存,可以进行部署运行这个任务。

点击任务的按钮,弹出运行任务的对话框,选择远程部署,远程主机为本机,确定。

弹出服务器窗口,可以运行删除这个新建的任务。可以参照第六章使用监控管理中心来管理这个任务。

  1. 时间戳实时增量同步

需要掌握前六章以后才可以开始学习本章。

6.1 场景说明:

基于时间戳的实时增量同步只能支持源数据库表的增改操作可以实时同步到目的数据库中,其中要求原表必须有一个时间戳字段,并且插入/更新的时候必须会同步修改这个值为当前时间才可以。使用时间戳方式,把数据库A的A1表的增改数据实时同步到B1表中。因此可以选取时间戳增量抽取组件和数据库插入更新组件进行编排。

A1表结构如下:

-- Create table

create table SOURCE10

(

  COL1  INTEGER not null,

  COL2  CHAR(20),

  COL3  FLOAT,

  COL4  DATE,

  COL5  VARCHAR2(4000),

  COL6  VARCHAR2(4000),

  COL7  VARCHAR2(4000),

  COL8  VARCHAR2(4000),

  COL9  VARCHAR2(4000),

  COL10 VARCHAR2(4000)

);

-- Create/Recreate primary, unique and foreign key constraints

alter table SOURCE10

  add primary key (COL1)

B1表结构如下:

-- Create table

create table SINK10

(

  COL1  INTEGER not null,

  COL2  CHAR(20),

  COL3  FLOAT,

  COL4  DATE,

  COL5  VARCHAR2(4000),

  COL6  VARCHAR2(4000),

  COL7  VARCHAR2(4000),

  COL8  VARCHAR2(4000),

  COL9  VARCHAR2(4000),

  COL10 VARCHAR2(4000)

);

-- Create/Recreate primary, unique and foreign key constraints

alter table SINK10

  add primary key (COL1)

6.2 实施方法

在转换页面,拖出一个触发器增量抽取组件和数据库插入更新组件。然后连线。

双击编辑时间戳增量抽取组件,选择数据库连接、获取SQL查询语句后,根据时间戳字段名,修改where条件。设置时间戳字段名称,配置文件名称修改为唯一名称。如果想要抽取的数据时间戳时间小于初始值请修改初始值为最小时间。

然后在编辑数据库插入更新组件。选择数据库连接、目标模式、目标表。

设置查询关键字,这个查询关键字是用来更新目标表的,即设置主键就可以了。实际上就是update语句的where条件。

然后设置更新字段,就是设置需要插入/更新的字段。

新建一个任务,拖出一个开始组件、一个转换组件,并拉线。

双击开始组件配置,设置定时时间,由于触发器流程每次只允许一次,那么可以根据自己的同步频率,设置执行时间。如下图为5秒钟执行一次。

双击转换,设置调用的转换。选择第二个资源库,选择刚刚配置的触发器转换。

配置结束,保存,可以进行部署运行这个任务。

点击任务的按钮,弹出运行任务的对话框,选择远程部署,远程主机为本机,确定。

弹出服务器窗口,可以运行删除这个新建的任务。可以参照第六章使用监控管理中心来管理这个任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值