etl新增接口
一、在已有接口中新增接口
例如:已有接口oaaa01001,那新增接口oaaa01002
需要修改:
1、/home/etl/APP/FLD/,拷贝oaaa01001文件夹;
2、将文件夹名字修改oaaa01002
3、bin文件夹需要修改如下:
oaaa010010090.pl
oaaa010010100.pl
oaaa010010101.pl
如新增接口oaaa01002,将oaaa01001改为oaaa01002,后面的不用管
4、DDL文件夹修改:
修改oaaa01001.ddl为oaaa01002.ddl,然后修改里面的内容,如下:
DDL文件格式说明:
1 C 1 0 OP_FLAG VARCHAR(1)
2 C 10 0 CO_CD VARCHAR(10)
3 C 32 0 ACC_DOC_NO VARCHAR(32)
4 C 36 0 ACC_DOC_LIN_ITM_QTY VARCHAR(36)
5 C 10 0 GL_ACC_NO VARCHAR(10)
6 F 20 5 AMT VARCHAR(20)
7 D 10 0 RPT_DT VARCHAR(10)
8 C 6 0 TRAD_PARTN VARCHAR(6)
9 C 1000 0 ITM_DES VARCHAR(1000)
10 C 72 0 WBS_WRK_ELM VARCHAR(72)
11 D 10 0 CRT_DT VARCHAR(10) -----时间类型
ddl文件格式说明:
第一列是序号
第二列是库CH_SDDL表的字段类型,C:字符型,F:浮点数,D:日期,I:整形
第三列是长度
第四列是,如该字段是浮点类型,则为小数点后面的位数,其他为0
第五列是表中的字段名
第六列都是VARCHAR类型,大小根据实际情况定。
5、在CH_SDDL里面创建对应的表,表的名字和接口名字一样,字段如4步骤。创建表参考其他。(注意:需要新增一个固定字段REC_SEQ INTEGERTITLE'记录顺序号'NOTNULL)
6、文件改好后,上传到服务器/home/etl/APP/FLD/
7、在ETL-ADMIN中,操作如下:
1)JOB菜单选择ADD ETL JOB
jbo name:OAAA01002
running server:etl_svr1
2)选择新接口,job菜单add job source job source name:oaaa01002 converted job source:OAAA01002
3)job菜单add job step
step no:步骤
step type:L加载,T转换osprogram:perl scriptname:脚本文件
例子:
step no:0001
step type: T
osprogram:perl scriptname:oaaa010010090.pl 如下图:
step no:0002
step type: L
osprogram:perl
scriptname:oaaa010010100.pl
step no:0003
step type: T
osprogram:perl
scriptname:oaaa010010101.pl
二、在etl中需要新建其他系统的接口操作
1、创建目录及账号
IP:10.3.6.56
目录位置:/home/etl/ftpdir/
联系人:系统组游华军
1)、创建ftp账号etlftp_usoo,密码chdss1234
2)、创建目录,如智能交易系统
/home/etl/ftpdir/usoo
3)、赋予账号etlftp_usoo对usoo有写入权限
2、在usoo下面创chk、err、rpt建目录
chk:校验后校验文件存储位置
err:校验失败后文件存储位置
rpt:校验日志
校验日志的错误代码说明如下(在etlpercheck_no9.pl中):# 00 校验通过
# 01 数据文件不存在
# 02 数据文件大小不符
# 03 数据文件记录数不符
# 04 数据文件数据日期不符
# 05 数据文件生成时间不符
# 99 校验文件为空或其他格式错误
3、创建数据文件和校验文件
1)、校验文件:q_20150625_usoo01001_00.chk
q_20150625_usoo01001_00_001.dat0 0 20150624 20150624195339
格式:数据文件名文件大小文件中的记录数日期日期时间
注意:各字段间以tab进行分隔,最后回车换行
2)、数据文件:q_20150625_usoo01001_00_001.dat(GBK编码写入文件)
注意:各字段间以tab进行分隔,最后回车换行
4、修改etlprecheck_no9.pl脚本
在对应位置增加
etlcheckbufdir("$buf_dir/usoo");
removeOldListfile("$buf_dir/usoo");
5、重启etlprecheck_no9.pl服务
下面是ETL服务器重启的方法:
1)、登录ETL服务器(10.3.6.56),用户名:etl,密码:chbietl2013
2)、删除/home/etl/lock下的DWAuto.lock和etlprecheck.lock这两个文件
rm -f DWAuto.lock
rm -f etlprecheck.lock
3)、启动DWAuto.jar /home/etl/bin/AutoStart.sh
4)、启动etlprecheck_no9.pl 后台执行nohupperl /home/etl/bin/etlprecheck_no9.pl&
如只是重启加载服务,只需操作如下:
1)、登录ETL服务器(10.3.6.56),用户名:etl,密码:chbietl2013
2)、删除/home/etl/lock下的etlprecheck.lock这个文件
rm -f etlprecheck.lock
3)、启动etlprecheck_no9.pl 后台执行nohupperl /home/etl/bin/etlprecheck_no9.pl&