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

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

时间:2024-06-03 21:57:32浏览次数:22  
标签:脚本 步骤 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字段也可以正常打印了。

 

 

标签:脚本,步骤,kettle,第六十四,SQL,日志,执行
From: https://www.cnblogs.com/zjBoy/p/18226508

相关文章

  • MySQL——事务补充
    十一、RR和RC的本质区别select*from表名(lockinsharemode)#当不加共享锁时,说明此时进行的是快照读,加了共享锁则进行的是当前读;​当进行快照读的时候才会形成readview结构;​readview形成的时机不同,会影响事务的可见性,会造成RR和RC级别下事务可见性的不同;当RR......
  • 基于SSM+Jsp+Mysql的高校二手交易平台
    开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示前台首页用户注册用户登录个人中心商品信息管理员登录商品上架管理商品信息管理客服聊天管......
  • 【MySQL】MySQL Connect -- 详解
    一、Connector /C使用要使用 C 语言连接MySQL,需要使用MySQL 官网提供的库,可以去官网进行下载:MySQL::MySQLCommunityDownloads我们使用 C 接口库来进行连接,要正确使用,还需要做一些准备工作:保证 MySQL 服务有效。在官网上下载合适自己平台的 MySQLConnec......
  • 记一次基于倒序索引的SQL优化
    本文测试环境为SQLserver2019背景某业务流水表,会基于固定范围内的业务编号做写入以及查询操作,热数据的量级在亿级别,一个典型的查询是基于业务编码查询最新(时间戳)某种状态的前N条数据简化后的表结构如下createtableTestTable01(idbigintidentit......
  • 揭秘PostgreSQL:如何查询表字段名称
    哈喽,大家好,我是木头左!PostgreSQL简介PostgreSQL是一个功能强大、开源的对象-关系型数据库管理系统(ORDBMS),它提供了许多高级功能,如事务支持、多版本并发控制(MVCC)、全文搜索等。PostgreSQL广泛应用于各种场景,如Web应用开发、企业级应用、数据仓库等。因此,掌握PostgreSQL的基本操......
  • PostgreSQL:所有支持的数据类型及建表语句实例
    哈喽,大家好,我是木头左!一、引言在当今这个数据驱动的时代,数据库已经成为了企业和个人不可或缺的工具。而在众多数据库产品中,PostgreSQL以其强大的功能和高度的可扩展性,受到了越来越多开发者的青睐。那么,PostgreSQL支持哪些数据类型呢?本文将为大家详细解析,并通过建表语句举例说......
  • flink sql 实时同步及离线同步
    createdatabasetest;usetest;离线数据源接入CREATETABLEttab_source(idINT,namevarchar(100),PRIMARYKEY(id)NOTENFORCED)WITH('connector'='jdbc','url'='jdbc:sqlserver://xx.xx.40.186:1433;DatabaseName=test&......
  • mssql 开启cdc
    USETESTGO库开启cdcEXECsys.sp_cdc_enable_dbGOEXECsys.sp_cdc_help_change_data_captureEXECxp_servicecontrolN'querystate',N'SQLServerAGENT';SELECTname,is_tracked_by_cdcFROMsys.tablesWHEREname='user6';表开启EXECs......
  • 持续性学习-Day17(MySQL)
    1、初识MySQLJavaEE:企业级Java开发Web前段(页面展示,数据)后端(连接点:连接数据库JDBC;链接前端:控制,控制反转,给前台传数据)数据库(存数据)1.1数据库分类关系型数据库(SQL):MySQL、Oracle、SqlServer、DB2、SQLlite通过表和表、行和列之间的关系进行数据的存储非关系型数......
  • repmgr+keepalived+pgbouncer构建postgresql集群
    安装环境操作系统:openeuler22LTSSP3数据库:postgresql16.3两台已经安装了数据库的服务器10.11.110.46 node110.11.110.47 node2配置node1和node2之间的免密登录,以及postgres用户需要无密执行systemd启停数据库服务。echo"postgresALL=(root)NOPASSWD:/usr/bin/sys......