//
目录:
第一部分:ETL Automation简介
第二部分:ETL Automation架构
第三部分:ETL Automation环境变量说明
第四部分:ETL Automation目录结构说明
第五部分:ETL Automation服务说明
第六部分:ETL Automation知识库说明
第七部分:ETL Automation GUI工具
第八部分:ETL任务调度
第九部分:常见问题讨论
/
/
第一部分:ETL Automation简介
1、Teradata公司开发的ETL流程调度产品(product);
2、使用Perl程序开发,运行环境需要安装Perl软件及DBI、DBD插件;
3、C/S服务器架构
4、ETL Automaiton由以下几部分组成:
(1)、ETL Automation服务
(2)、ETL Automation目录架构
(3)、ETL Automation知识库
(4)、ETL Automation环境变量
(5)、ETL Administrator / ETL monitor管理工具(GUI)
第二部分:ETL Automation架构

第三部分:ETL Automation环境变量说明
变量名称

说明

举例说明

AUTO_DB

ETL知识库名称,默认为ETL

AUTO_DB=PETL

AUTO_DSN

ETL Automation连接数据库的ODBC DSN

AUTO_DSN=ETLDB

AUTO_HOME

ETL主目录路径

AUTO_HOME=D:\DWETL

AUTO_JOB_COUNT

ETL流程调用任务的最大并行数

AUTO_JOB_COUNT=10

AUTO_PERL

Perl的安装路径

AUTO_PERL=C:\PERL

AUTO_PRIMARY_SERVER

ETL Automation的主服务器标识:1-主Server 0-Client

AUTO_PRIMARY_SERVER=1

AUTO_SERVER

ETL服务器名称标识

AUTO_SERVER=DWLOAD

AUTO_SERVER_IP

ETL服务器的IP地址

AUTO_SERVER_IP=192.168.6.76

AUTO_SLEEP

ETL服务轮询的时间间隔

AUTO_SLEEP=60

第四部分:ETL Automation目录结构说明
/ETL (Automation 主目录)
|—/APP 存放ETL任务脚本。在此目录下先建子系统目录,然后建ETL任务目录
|—/DATA
|------/complete 存放已成功执行过的数据. 以系统名称以及日期来建立子目录
|------/fail
|---------/bypass 存放不须执行的档案.以系统名称以及日期来建立子目录
|---------/corrupt 存放大小不符合的档案. 以系统名称以及日期来建立子目录
|---------/duplicate 存放重复接收的档案. 以系统名称以及日期来建立子目录
|---------/error 存放执行作业过程中产生错误的档案. 以系统名称以及日期来建立子目录
|---------/unknown 存放未定义在 ETL Automation 机制中的档案. 以日期来建立子目录
|------/message 存放要发送讯息通知的控制文件
|------/process 存放正在执行中的作业所使用的数据文件及控制档
|------/queue 存放准备要执行的作业所使用的数据文件及控制档
|------/receive 用来接收各来源系统所传送来的数据文件及控制文件
|—/LOG 存放 ETL Automation 系统程序及各作业在执行时所产生的记录档案
|—/bin 存放 ETL Automation 系统程序的执行文件
|—/etc 存放 ETL Automation 机制的一些设定档案
|—/lock 存放 ETL Automation 系统程序及各作业在执行时所产生的 lock 档案
|—/tmp 临时缓冲目录,存放临时文件
第五部分:ETL Automation服务说明
服务名称

说明

etlagent.exe

负责执行远程操作的动作。另外该服务对应的日志文件能够提供一定的审

计功能。

etlclean.exe

负责执行数据清除 (House Keeping) 的动作

etlmaster.exe

负责处理由 etlrcv.pl 所交付的档案。etlmaster.exe 会找出档案所对应的作业

并在作业的执行条件满足时呼叫 etlslave_nt.pl 或 etlslave_unix.pl 来执行作业

etlmsg.exe

负责发送讯息通知 (Message Notification) 的动作,可选方式为短信或EMAIL

etlrcv.exe

负责处理从各来源系统所传送来的档案. 当档案通过检查后, 会将档案交由

etlmaster.exe来处理

etlwdog.exe

在主要服务器(Primary erver) 上是负责接收各次 要服务器 (Secondary

Server)所传送来的存活封包(Heartbeat Packet) 以判断各服务的状态并 更新

记录。而在发现有次要服务器未能在一段时间内送来存活封包的话, 则会认

定此次要服务器 为停止状态, 而会将当时正在此部次要服务器上执行的作

业的状态设成失败(Failed)。 而在次要服务器(Secondary Server)上则是定时

发送存活封包(Heartbeat Packet) 至主要服务器 (Primary Server)上以通知目前

次要服务器的状态

etlschedule.exe

负责提交定时任务作业的动作

1、etlrcv2、etlmas3、etlschedule

第六部分:ETL Automation知识库说明
知识库是ETL Automation最重要的组件之一。
包括但不限于以下信息存储在ETL知识库中:ETL服务器标识、 ETL任务的定义、任务之间的关系、任务运行状态历史、ETL记录日志、ETL文件接收日志及ETL事件日志等。
ETL知识库中比较重要的表如下:
1、ETL服务器配置表:ETL_Server
2、ETL子系统表:ETL_Sys
3、任务定义表:ETL_Job、ETL_Job_Source、ETL_Job_TimeWindow;
4、任务关系表:ETL_Job_Dependency、ETL_Job_Stream、ETL_RelatedJob
5、任务运行状态历史表:ETL_Job_Status
6、ETL记录日志表:ETL_Record_Log
7、ETL文件接收表:ETL_Received_File
8、ETL事件表:ETL_Event
第七部分:ETL Automation GUI工具
ETL Automation GUI工具包括ETL Administrator和ETL Monitor。
ETLAdmin用来定义并管理在 ETL Automation 中的作业及作业关连性。ETLMonitor用来监看ETL服务器的状态、作业的执行状态及其它异常情况。

由于GUI工具使用Java语句编写,因此在运行工具之前,必须安装Java的运行环境(Runtime Environment ),需要安装的Java运行环境版本为1.3.1及以上。
你可以至 Sun 的网站去下载最新的 Java 执行环境版本。
第八部分:ETL任务调度
ETL Automation通过控制文件对ETL任务自动调度
文件命名规则
作业的脚本文件与控制文件的命名必须与ETL Automation资料库表中的相关定义一致。其对应关系如下表所示:

文件或目录

资料库中的对应表和字段

作业目录名

ETL_Job.Etl_Job

作业脚本名

ETL_Job.Etl_Job

receive目录下的控制文件名

ETL_Job_Source.Source

queue目录下的控制文件名

ETL_Job_Source. Conv_File_Head

process目录下的控制文件名

ETL_Job_Source. Conv_File_Head

第九部分:常见问题讨论
1、通过Automation调度作业时,作业为何无法启动?
ETL Automation的系统程序,以及所有作业脚本在正常执行时,都会在目录HOME/etl/lock下生成一个.lock文件,因此当重复启动一个系统程序或作业脚本时,都会首先检查到lock目录下已经有相应的.lock文件,这就避免了程序或作业的重复调用。也可以通过ETLMonitor工具观察到这一错误。解决方法:将目录HOME/etl/lock下生成一个.lock文件,因此当重复启动一个系统程序或作业脚本时,都会首先检查到lock目录下已经有相应的.lock文件,这就避免了程序或作业的重复调用。 也可以通过ETL Monitor工具观察到这一错误。 解决方法:将目录HOME/etl/lock下生成一个.lock文件,因此当重复启动一个系统程序或作业脚本时,都会首先检查到lock目录下已经有相应的.lock文件,这就避免了程序或作业的重复调用。也可以通过ETLMonitor工具观察到这一错误。解决方法:将目录HOME/etl/lock下的对应文件清除。
2、Automation的作业调度性能为何会下降?
当Automation的receive、queue、process等目录下积压的控制文件过多时,或者资料库表ETL_Job_Queue中存储的记录过多时,etlrcv、etlmas以及etlschedule等进程的执行效率会降低,从而使得Automation对作业的调度能力显著下降。
例如在EMS项目组,曾出现过作业由pending状态转为running状态耗时45分钟的情况。
解决方法:加强对Automation目录结构的维护,对运行失败的作业及时进行处理,避免由于作业失败而导致上述目录中的控制文件产生积压。同时要尽量减少资料库表ETL_Job_Queue中的记录数。
3、有数据文件的作业加载失败后,为何无法重新启动?
当作业带有需要处理的数据文件时,在读取数据文件之前,Automation会首先将该数据文件的信息存入到资料库表ETL_Received_File中。
由于数据文件格式错误导致作业失败后,Automation会自动将数据文件移入error目录。之后,当数据文件的格式修改无误,并将数据文件和控制文件重新移入receive目录后,作业仍然无法执行。
解决方法:将资料库表ETL_Received_File中的对应记录删除。
4、定时触发的作业突然开始执行,且执行完后还会再次反复执行。
这是由于从库表ETL_TimeTrigger中直接删除了该作业的定时触发记录,而没有同步更新ETL_Job表中TimeTrigger字段的值。
Etlschedule进程首先检查ETL_Job表,认为当前作业是时间触发的。随后检查ETL_TimeTrigger表时,无法找到该作业的触发时间,此时默认其为0,而当前时间通常大于等于0,因此系统认为触发条件满足,该作业被不断触发。
解决方法:更新ETL_JOB表,同时将ETL_Job_Queue中已插入的对应记录删除。并且今后尽量通过GUI工具操作,避免直接对资料库表进行update。

ETL Automation相关推荐

  1. ETL AUTOMATION介绍

    /**********************************/ 目录: 第一部分:ETL Automation简介 第二部分:ETL Automation架构 第三部分:ETL Automa ...

  2. etl spring_ETL AUTOMATION介绍

    /**********************************/目录:第一部分:ETL Automation简介第二部分:ETL Automation架构第三部分:ETL Automation ...

  3. 【ETL】ETL介绍与ETL工具比较

    本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL,是英文 Extract-Transform-Load 的缩写,用来 ...

  4. ETL流程概述及常用实现方法

    ETL是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.常见于数据仓库开发中将数 ...

  5. 三大主流ETL工具选型

    ETL(extract, transform and load)产品乍看起来似乎并不起眼,单就此项技术本身而言,几乎也没什么特别深奥之处,但是在实际项目中,却常常在这个环节耗费太多的人力,而在后续的维 ...

  6. 【转】ETL介绍与ETL工具比较

    本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL,是英文 Extract-Transform-Load 的缩写,用来 ...

  7. 数据提取、转换和加载 - ETL工具

    ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取.转换和加载. ETL工具有:OWB(Oracle Warehouse Builder).ODI(O ...

  8. ETL流程介绍常用实现方法

    目录 1.概述 2.抽取作业(Extract) 2.1 手工开发抽取作业时候的常用方法 2.1.1 当数据源和DW为同一类数据库时 2.1.2 当数据源和ODS为不同类型数据库时 2.2 更新数据的时 ...

  9. ETL的介绍与使用ETL工具之间的区别

    ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract).转置(transform).加载(load)至目的端的过程.ETL一词较常用在数 ...

最新文章

  1. wxPython:Python首选的GUI库 | CSDN博文精选
  2. STM32-USART控制led和蜂鸣器
  3. 每个程序员都应该了解的内存知识
  4. LiveQing私有云端直播点播流媒体服务-功能一张图
  5. mysql关联语句优化_MySql语句关联优化问题,为什么加了限制条件反而更慢?
  6. ZooKeeper 会话的秘密 快偷偷过来瞧一瞧!!!
  7. Cmake安装及其使用、编译glog库
  8. 同步、异步、阻塞与非阻塞给你说得明明白白
  9. STVP提示The device is protected解决方法
  10. 线性代数之——正定矩阵
  11. deepin efi 启动u盘_deepin启动引导修复教程
  12. HTML创建表格模板
  13. android paint 圆角 绘制_android 绘制椭圆 圆角矩形 详细解析
  14. itext给已有pdf添加页眉页脚
  15. tcp/ip 端口号有哪些
  16. 常用条码打印机测纸方法
  17. HTML中怎样把文字分两栏显示,word设置一页分两栏的三种方法
  18. STA(静态时序分析) 详解:如何计算最大时钟频率,以及判断电路是否出现时钟违例(timing violation)?
  19. 笔记(网络工程师,mac基础知识,网络基点)
  20. mybatis plush : 解决pgSql数据库 jsonb存取的问题

热门文章

  1. MathType编辑公式时如何输入空格
  2. open3d完成点云ICP配准
  3. 临时改变主意,准备回家过年了
  4. 前端工作日记day1
  5. jsp外贸合同信息管理系统
  6. oracle in函数的使用,oracle in 函数
  7. Unity基于PDFRenderer插件实现文档查看功能
  8. jdbc连接mysql8.0.21_MySQL的JDBC驱动(8.0版本)
  9. symbian 音频 汇总
  10. 2018-12-6【训练日记】