【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例

1、系统版本信息

  System:Windows旗舰版 Service Pack1

  Kettle版本:6.1.0.1-196

  JDK版本:1.8.0_72

2、连接数据库

  本次实例连接数据库时使用全局变量。

  2.1 创建新转换:spoon启动后,点击Ctrl+N创建新转换

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第1张图片

  2.2 在新转换界面中,右键点击DB连接,系统会弹出【数据库连接】界面。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第2张图片

  windows系统环境下,可用${}获取变量的内容。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第3张图片

  说明:

    连接名称:配置数据源使用名称。(必填)

    主机名称:数据库主机IP地址,此处演示使用本地IP(Localhost)地址或用127.0.0.1也可以。(必填)

    数据库名称:数据库实例名称。(必填)

    端口号:数据库使用端口号。MS SQL Server默认1433,Oracle默认1521。(必填)

    用户名:登录数据库用户。(必填)

    密码:登录数据库对应用户的密码。(必填)

  2.3 连接完成后,在DB连接下可看到完成的数据库连接。右键点击分享,可生成sharp.xml文件,同时在kettle.properties文件中配置全局变量。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第4张图片

  生成的sharp.xml文件截图

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第5张图片

  sharp.xml文件部分内容截图。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第6张图片

  kettle.properties部分内容截图。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第7张图片

3、数据抽取转换

  在【核心对象】下可显示在转换中能使用的所有组件。在【输入】中找到表输入,双击出现到设计页面中;在【输出】下,找到表输出,把空间往空白处拖入即可;然后点住shift键,左键连接两者之间的关系。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第8张图片

  A.表输入:双击表输入控件,系统会弹出表输入空间的详细内容。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第9张图片

  说明:

    数据库连接:DB连接下的连接,这里选择就可以

    SQL:编写查询源数据SQL脚本,可以通过“获取SQL查询语句…”获取

    替换SQL语句里的变量:如果在查询条件里使用了变量,需勾选   

    从步骤插入数据:默认

    执行每一行:默认

    记录数量限制:如果为0,则预览时无数据

    预览:  如果无法确定SQL语句是否正常时可以通过【预览】来查看SQL语句是否正确。

  B.表输出:主选项

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第10张图片

  说明:

    数据库连接:DB连接下的连接数据源,这里选择就可以

    目标表:选择数据需要插入的数据表

    提交记录数量:每次插入时提交的数量

    裁剪表:如果选中以后,每次都会把目标表的内容清空,然后再插入

    指定数据库字段:表输入的字段和表输出的字段需选择映射关系

  表输出:数据库字段,在这里可以选择字段的映射关系。

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第11张图片

  说明:

    获取字段:会自动获取字段的映射关系

    输入字段映射:需手动维护字段的映射关系

    SQL:点击SQL会有选项;执行:本人暂未点击过

  完成了表输入和表输出的连接后,可点击左上角的三角号执行下,在下方可查看执行日志

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第12张图片

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第13张图片

  【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例_第14张图片

  说明:

    根据日志可以查看出每个步骤执行的记录数、读、写、输入、输出、更新、拒绝、错误、激活、时间、速度。可根据此处分析当前转换运行效率而断定转换是否需要进行优化。

 

总结:

1、  在运行转换时,当前转换是处于并发状态,如果有多个表输入则会同时运行。

2、  在设计转换时最好是一个数据流,不要一个转换有多条数据流;如果有多条数据流则有可能发生锁表问题。

 

 

  

 

你可能感兴趣的:(【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例)