ETL使用手册.docx
《ETL使用手册.docx》由会员分享,可在线阅读,更多相关《ETL使用手册.docx(55页珍藏版)》请在冰点文库上搜索。
ETL使用手册
ETL使用手册
ETL使用手册
第一章配置文件结构
//根标签
//在目标数据库中创建数据表,纪录importDefinition标签重新启动的次数,如果存在表明会抛错.
//接收参数定义
//默认JDBC连接
//执行SQL语句
//定义包含
//包含多个标签文件
//日志开头要显示的信息
//简单表复制
//导入定义
//确保字段数据唯一
//导入任务定义的JDBC连接
//直接对应转换列
//自定义转换规则
//转换规则
//将变量值赋给目标字段必须属性override="true"
//将当前用户赋给目标字段
//将当前时间赋给目标字段
//导入外键关系(必须存在对应关系)
//将固定值(常量)赋给目标字段
//通过计数器表向目标字段自动增量生成数据(例如:
自动加1)
//定义目标表
第二章标签说明
ETL配置文件的根标签。
属性
默认范围
描述
参数
logMode
and
定义默认的日志模式包括:
"normal","none","full".系统默认"normal".
-m
objectIDIncrement
定义配置文件中指定的目标对象数量.默认20.
none
objectIDTableName
定义配置文件中指定的目标对象表名..默认"objectid".
none
objectIDColumnName
定义配置文件中指定的目标对象字段名.默认"next".
none
objectIDNameColumnName
DefinesthecolumnnameforOIDnamedefinedbyTOS.Ifthisvalueisset,LoaderusesOIDlogicasusedbyTOS.
none
objectIDNameColumnValue
DefinesthecolumnnameforOIDvaluesdefinedbyTOS.Ifthisvalueisset,LoaderusesOIDlogicasusedbyTOS.TypeofthiscolumnisVARCHAR.
none
onErrorContinue
and
定义转换任务执行SQL命令或转换过程中发生错误都将继续执行。
默认"false"
-e
commit
定义SQL命令块分别提交,默认"false"
none
userID
none
为userIDcolumn标签定义值
-u
logDir
none
定义日志文件夹路径.默认为当前工作目录
-l
logFile
none
定义日志文件名.默认"LoaderLog-YYYY-MM-DD-HH-mm-ss.txt"
-f
vendorConfig
none
定义数据库类型配置文件名称。
默认"OctopusDBVendors.xml"
-d
returnCode
none
定义默认java.exe返回代码到外部环境,转换任务失败时返回。
-rc
objectIDAutoCreate
定义objectID表是否自动创建默认"false".
none
objectIDStartValue
定义objectID起始值,仅在自动创建时,默认"1"
none
commitCount
,and
定义系统默认的一次提交数量。
默认"100"
-c
oidLogic
and定义表是否使用OID逻辑,系统默认"true".
none
tableMode
and定义默认的表访问方法.系统默认"Query".
none
dataCutOff
定义数据截取开关。
系统默认"false".超出目标字段长度时是否截取数据
none
logTableName
定义是否在数据清理时使用日志表,如果使用就必须制定日志表名。
none
logColumnName
定义日志表中存放被操作的字段名称列名,默认LOGCOLUMNNAME.
none
logRowNumber
定义日志表中存放被操作的数据行号的列名。
默认LOGROWNUMBER.
none
logOriginalValue
定义日志表中存放被操作的数据的原始值的列名。
默认LOGORIGINALVALUE.
none
logNewValue
定义日志表中存放被操作的数据的原始值的列名。
默认LOGNEWVALUE.
none
logImportDefinitionName
定义日志表中存放ImportDefinition标签名称的列名。
默认LOGIMPORTDEFINITIONNAME.
none
logOperationName
定义日志表中存放数据清理方式(cutoff,replacednull...)的列名。
默认LOGOPERATIONNAME.
none
logTypeName
定义日志表中存放数据操作类型(insert,update...)的列名。
默认LOGTYPENAME.
none
logClassName
指定使用的日志类的全称(log4jlogger)
none
pathToLoggerConf
制定唯一路径到日志配置文件(log4jlogger)
none
setCursorName
,
定义是否使用setCursorName方法(如果数据库支持setCursorName()方法)
none
setFetchSize
,
定义是否使用setFetchSize方法(如果数据库支持setFetchSize()方法)
none
例如:
onErrorContinue="false"commit="true"userID="r004d\meier"logDir="c:
\mylogs"logFile="myFile.txt"vendorConfig="MyVendorConfig.xml"
objectIDAutoCreate="true"objectIDStartValue="150000"commitCount="1000"oidLogic="false"tableMode="Cache"returnCode="1"dataCutOff="true"
logTable="LOGTABLE">
...
在目标数据库中创建数据表,纪录importDefinition标签重新启动的次数,如果表存在,会抛错.
属性
描述
tableName
指定存放任务重启的数据表名,该表创建在目标数据库中,默认"LOADERRESTART".
importDefinitionColumnName
指定存放importDefinition标签名称的字段名,默认"IMPORTDEFINITION".
restartCounterColumnName
指定存放importDefinition重启次数的字段名,默认"RESTARTCOUNTER".
restartAutoCreate
是否自动创建该表,默认"false".
注意:
如果一个转换任务没有-r参数启动,重启记录信息将从该表中删除。
例如:
restartCounterColumnName="MyCounter"restartAutoCreate="true"/>
...
接收参数定义
属性
描述
prefix
定义变量默认前缀,在各个variable标签中.
suffix
定义变量默认后缀,在各个variable标签中.
override
定义变量默认是否强制转换,在各个variable标签中.
replaceInConstants
定义变量默认是否在常量中替换,在各个variable标签中.
replaceInSQL
定义变量默认是否在SQL语句中替换,在各个variable标签中.
replaceInData
定义变量默认是否在数据中替换,在各个variable标签中.
replaceInJDBC
定义变量默认是否在JDBC中替换,在各个variable标签中.
属性
描述
默认值
name
变量名称
value
变量值
prefix
变量名前缀
%
suffix
变量名后缀
%
override
是否强制转换
true
replaceInConstants
是否在常量中替换
false
replaceInSQL
是否在SQL语句中替换
false
replaceInData
是否在数据中替换
false
replaceInJDBC
是否在JDBC中替换
false
defaultValue
这个属性被使用在数据清理中
optional
例如:
...
"suffix="!
"override="false"replaceInConstants="true"replaceInSQL="false"
replaceInData="true"replaceInJDBC="true">
replaceInSQL="true"replaceInData="false"replaceInJDBC="false"/>
...
默认JDBC连接
JDBC数据源参数
属性
描述
dbVendor
OctopusDBVendors.xml中定义的数据库类型
driverName
OctopusDBVendors.xml中定义的数据库驱动
(源)
JDBC数据源参数
属性
描述
name
源数据库JDBC属性.包含:
JdbcDriver,Connection.Url,User,Password.
value
源数据库JDBC属性值.
(目标)
JDBC数据源参数
属性
描述
dbVendor
OctopusDBVendors.xml中定义的数据库类型
driverName
OctopusDBVendors.xml中定义的数据库驱动
JDBC数据源参数
属性
描述
name
源数据库JDBC属性.包含:
JdbcDriver,Connection.Url,User,Password.
value
源数据库JDBC属性值.
例如:
informix-sqli:
//140.92.2.157:
5005/dtdep:
informixserver=online"/>
informix-sqli:
//140.92.2.157:
5005/dtdep:
informixserver=online"/>
执行SQL语句
属性
描述
name
标签名称.这个属性必须.
logMode
可选属性,这个模式定义了转换执行步骤将被写到日志之中的模式:
none,normal,full.-'none'–只记录出现的错误,这个模式返回程序退出编码。
-'normal'–记录程序开始和结束的每一个importDefinition标签转换任务,importDefinition名称,提交的行数和每一个导入任务(SQL)。
-'full'–记录转换任务的详细信息到日志文件。
系统默认'normal'.
onErrorContinue
可选值:
true或false.当这个值是true,如果出现一个错误,错误信息将要被显示出来,程序继续运行。
当这个值是false,如果出现一个错误,错误信息将要被显示出来,程序结束。
这个属性可选,系统默认false.
commit
可选值:
trueorfalse.当这个值是true,SQL语句将会在执行后立即提交,否则将会在程序最后提交,这个属性可选,系统默认true.
returnCode
定义默认java.exe返回代码到外部环境,转换任务失败时返回。
这个属性可选,系统默认1.
目标JDBC数据源参数
属性
描述
dbVendor
OctopusDBVendors.xml中定义的数据库类型
driverName
OctopusDBVendors.xml中定义的数据库驱动
目标JDBC数据源参数
属性
描述
name
源数据库JDBC属性.包含:
JdbcDriver,Connection.Url,User,Password.
value
源数据库JDBC属性值.
SQL语句,例如:
CREATEDATABASETogether;
包含文件,例如:
属性
描述
href
包含文件路径
parse
包含文件类型(text)
定义包含,例如:
...
...
...
包含多个标签的XML文件。
属性
描述
href
包含文件路径
parse
包含文件类型(xml)
日志开头要显示的信息,例如:
简单表复制
属性
描述
name
copyTable任务名称,在loaderJob标签中必须保持唯一,属性必填。
sourceTableName
定义将要完全复制到目标表中去的源表名称。
targetTableName
定义目标表名称。
logMode
这个模式定义了转换执行步骤将被写到日志之中的模式:
none,normal,full.-'none'–只记录出现的错误,这个模式返回程序退出编码。
-'normal'–记录程序开始和结束的每一个copyTable标签转换任务,copyTable名称,提交的
展开阅读全文
相关搜索