kettle从入门到精通 第六十四课 ETL之kettle kettle中执行SQL脚本步骤,使用需当心

1、群里有不定时会有同学反馈执行SQL脚本步骤使用有问题,那么咱们今天一起来学习下该步骤。trans中的执行SQL脚本有两方面功能,使用时需小心,不然很容易踩坑。

官方定义:

 翻译:

您可以使用此步骤执行 SQL 脚本,可以选择在转换的初始化阶段执行一次,或者针对步骤接收的每一行输入执行一次。第二个选项可用于在 SQL 脚本中使用参数。

2、执行 SQL 脚本的默认功能是只在转换的初始化阶段执行一次,这一点非常容易忽视。示例如下图所示:

 1)生成记录步骤生成两条数据。

2)写日志-one记录日志。

3)执行SQL脚本执行简单的查询语句:select now() from dual;

4)写日志two记录日志。

3、执行SQL脚本中的执行每一行不进行勾选,表示此步骤只在初始化阶段执行一次。如下图所示:

根据上图日志可以清楚的看到写日志two步骤只执行了一次,因为它的前置步骤执行SQL脚本也只执行了一次。

 另外如果在写日志two中添加前置步骤字段name,流程会出现错误无法正常运行。这是因为执行SQL脚本步骤只在初始化时执行一次,此时流中没有字段name导致的。

看过源码的应该了解执行SQL脚本步骤肯定是根据是否执行每一行参数来决定是在init还是在processRow方法中执行。

4、执行SQL脚本中的执行每一行勾选,表示对步骤接收的每一行输入执行一次。如下图所示:

 上图可以清晰的看到写日志two可执行了两次,那是因为执行SQL脚本也执行了两次,同时前置步骤的中的name字段也可以正常打印了。

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 12:16:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 12:16:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 12:16:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 12:16:01       20 阅读

热门阅读

  1. Python语言试卷:深入剖析Python编程的精髓

    2024-06-07 12:16:01       10 阅读
  2. Numpy练习

    2024-06-07 12:16:01       10 阅读
  3. 交强险保障范围及流程

    2024-06-07 12:16:01       10 阅读
  4. P2012 拯救世界2

    2024-06-07 12:16:01       9 阅读
  5. C#软件搬家功能的实现

    2024-06-07 12:16:01       8 阅读
  6. HTML5 视频 Vedio 标签详解

    2024-06-07 12:16:01       7 阅读
  7. 【第二篇】SpringSecurity源码详解

    2024-06-07 12:16:01       9 阅读
  8. npm上传提示:413 Request Entity Too Large

    2024-06-07 12:16:01       8 阅读
  9. 【二叉树算法题记录】669. 修剪二叉搜索树

    2024-06-07 12:16:01       7 阅读
  10. 游戏心理学Day06

    2024-06-07 12:16:01       9 阅读
  11. 在CentOS 7上查看和管理内存使用情况

    2024-06-07 12:16:01       6 阅读
  12. 【回溯算法 1】全排列(medium)(每日一题)

    2024-06-07 12:16:01       9 阅读