当前位置: 首页 > news >正文

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

想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。文章底部关注我,公众号后台加我微信入群,备注kettle。

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字段也可以正常打印了。

相关文章:

  • 路由器重启真的好吗?多久重启一次更好?
  • 计算机网络 4.1双绞线
  • python-windows10普通笔记本跑bert mrpc数据样例0.1.001
  • 《深入浅出C语言:从基础到指针的全面指南》
  • C++中的if constexpr
  • 探索HTML5 Geolocation:精准定位网页的新纪元
  • 一个训练好的神经网络的模型文件的内容主要是什么信息呢?请用大白话举例说明( 百度 API 回答 )
  • Flutter与iOS原生混合开发 iOS项目集成Flutter
  • (杂交版)植物大战僵尸
  • 流批一体计算引擎-10-[Flink]中的常用算子和DataStream转换
  • OpenCV的核心数据结构
  • codereview时通常需要关注哪些
  • Mongodb---java篇
  • 简述React 和 Vue 的 diff 时间复杂度从 O(n^3) 优化 到 O(n) ,那么 O(n^3) 和 O(n) 是如何计算出来的 ?
  • 特征提取(Feature Extraction)特征评估(五)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 345-反转字符串中的元音字母
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • crontab执行失败的多种原因
  • C语言笔记(第一章:C语言编程)
  • Debian下无root权限使用Python访问Oracle
  • java概述
  • jQuery(一)
  • Laravel 菜鸟晋级之路
  • linux安装openssl、swoole等扩展的具体步骤
  • Mocha测试初探
  • Phpstorm怎样批量删除空行?
  • Python socket服务器端、客户端传送信息
  • Python 基础起步 (十) 什么叫函数?
  • ReactNative开发常用的三方模块
  • Travix是如何部署应用程序到Kubernetes上的
  • webpack4 一点通
  • 工程优化暨babel升级小记
  • 工作中总结前端开发流程--vue项目
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 简析gRPC client 连接管理
  • 离散点最小(凸)包围边界查找
  • 利用DataURL技术在网页上显示图片
  • 前端设计模式
  • 【云吞铺子】性能抖动剖析(二)
  • ​VRRP 虚拟路由冗余协议(华为)
  • #1014 : Trie树
  • #include
  • #图像处理
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (1)虚拟机的安装与使用,linux系统安装
  • (8)STL算法之替换
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (LLM) 很笨
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (十三)Flink SQL
  • (四)进入MySQL 【事务】
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)setTimeout 和 setInterval 的区别