TDT6.1 oracle_to_inceptor 基于ID和TIME增量导入

  使用配置
内容纲要

基于ID增量导入

一. TDT侧配置

file

1.1 配置oracle和inceptor连接

file

file

1.2 JDBC Reader配置

file

file

Oracle侧表 lkw.emp01

create table EMP01
(
  empno    NUMBER(4) not null,
  ename    VARCHAR2(10),
  job      VARCHAR2(9),
  mgr      NUMBER(4),
  hiredate DATE,
  sal      NUMBER(7,2),
  comm     NUMBER(7,2),
  deptno   NUMBER(2)
)
tablespace PFM;

Inceptor 侧orc事务表 new_emp01(需要提前创建):

CREATE  TABLE lkw.new_emp01(
  empno int DEFAULT NULL COMMENT '雇员编号', 
  ename string DEFAULT NULL COMMENT '雇员姓名', 
  job string DEFAULT NULL COMMENT '工作职位', 
  mgr int DEFAULT NULL COMMENT '领导编号', 
  hiredate date DEFAULT NULL COMMENT '雇佣日期', 
  sal int DEFAULT NULL COMMENT '月薪', 
  comm int DEFAULT NULL COMMENT '奖金,或者为佣金', 
  deptno int DEFAULT NULL COMMENT '部门编号'
)
CLUSTERED BY ( 
  empno) 
INTO 1 BUCKETS stored as orc_transaction;

1.3 JDBCBunch WRITER配置

file

二. Workflow侧配置

file

2.1 SQL任务

file

file

2.2 数据流任务

file

2.3 工作流参数配置

file

2.4 调度周期

按需求定义调度周期,测试的话设置成一分钟一次

三. 测试

3.1 首次调度

第一次调度,会将所有empno>0的全部导入

3.2 插入数据测试

Oracle侧插入一条测试数据,等待wf调度,调度成功之后,检查inceptor侧数据是否导入成功

file

基于TIME增量导入

一. TDT侧配置

file

1.1 JDBC Reader配置

file

file

Oracle侧表 lkw.emp01
Inceptor 侧orc事务表 tdt_dataflow_with_date (需要提前创建):

CREATE  TABLE lkw.tdt_dataflow_with_date(
  empno decimal(38,0) DEFAULT NULL, 
  ename string DEFAULT NULL, 
  job string DEFAULT NULL, 
  mgr decimal(38,0) DEFAULT NULL, 
  hiredate timestamp DEFAULT NULL, 
  sal decimal(7,2) DEFAULT NULL, 
  comm decimal(7,2) DEFAULT NULL, 
  deptno decimal(38,0) DEFAULT NULL
)
CLUSTERED BY ( 
  empno) 
INTO 3 BUCKETS STORED AS ORC_TRANSACTION;

1.2 JDBCBunch WRITER配置

file

二. Workflow侧配置

file

2.1 数据流任务

file

2.2 调度周期

参数设置是按照天增量导入的,为了测试方便,我们把调度周期设置成1min

三. 测试

3.1 插入数据测试

执行insert语句,

insert into emp01 (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values ('8000', 'lkw1', 'master', '7839', to_date('17-6-2019', 'dd-mm-yyyy'), '99999', 99999, '20');
insert into emp01(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values ('8001', 'lkw1', 'master', '7839', to_date('18-6-2019', 'dd-mm-yyyy'), '99999', 99999, '20');
insert into emp01(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
values ('8002', 'lkw1', 'master', '7839', to_date('19-6-2019', 'dd-mm-yyyy'), '99999', 99999, '20');

由于调度周期是1min,每分钟都会把最近1d内新增的这3条数据插入到目标表,所以会看到很多重复数据,测试通过

file

下面也会看到4份新增数据

file

这篇文章对您有帮助吗?

平均评分 3.5 / 5. 次数: 2

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。