首页 > 其他分享 >kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy

kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy

时间:2024-06-08 19:44:19浏览次数:21  
标签:第六十六 步骤 kettle step so 日志 数据 Blocking

场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。

解决:使用步骤Blocking step进行阻塞处理即可。

1、下面的demo演示从表t1同步数据至表t2(t1表中有三条数据,t2为空表,两个表表结构相同),然后数据同步完毕之后进行其他操作,这里的只是打个日志记录下最后一行数据,如下图所示:

1)从图片日志可以很清晰的看到,当前数据打印了三次,表输入和表输出也都执行了3次。

2)从图片日志可以很清晰的看到,Blocking step 读取了三条数据,只写了一条数据。

3)从图片日志可以很清晰的看到,Blocking step 后面的日志步骤只打印了最后一行数据。

 2、Blocking step配置,双击步骤打开配置项。

 Pass all rows?:若不勾选,表输出步骤成功写入3条数据之后只有最后一条数据才会通过Blocking step步骤传递给之后的步骤。如下图所示:

 3、Pass all rows?:若勾选,表输出步骤成功写入3条数据之后所有数据都会通过Blocking step步骤传递给之后的步骤。如下图所示:

 

1)从图片日志可以很清晰的看到,Blocking step 读取了三条数据,写了三条数据。

2)从图片日志可以很清晰的看到,虽然Blocking step 写了三条数据,但是执行顺序依然是在Blocking step的前置步骤表输出完毕之后。

 4、缓存大小配置,行数设置的越大,该步骤执行的效率也就越高,否则会频繁操作临时文件。

 上图步骤中将缓存大小设置为1,从日志来看Blocking step步骤就打印了“打开临时文件”,很显然缓存大小设置的行数太小会降低性能。这里使用的时候根据自己的机器实际内存情况来定。

 

标签:第六十六,步骤,kettle,step,so,日志,数据,Blocking
From: https://www.cnblogs.com/zjBoy/p/18238521

相关文章

  • 仅主机模式下无网配置ISO本地yum源,实现无网下载
            仅主机:虚拟机网络环境中的一种,一般认为仅主机模式下是不能联网的,不能和外网通信。实际上仅主机模式是可以连接外网的,只是配置比较麻烦,相比于桥接模式和NAT模式操作更加繁琐。        接下来,我们就说说怎么配置本地yum源。(我使用的是CentOS7)  ......
  • Docker中部署nacos报Caused by: java.lang.IllegalStateException: No DataSource set
    在进入nacos日志内部发现再次重启同样如此;其实从上面你也就很容易看出问题所在,没有数据;经过排查发现我在docker部署时之前部署的mysql容器并没有启动,需要启动mysql容器z输入两个命令分别启动和查看dockerstartmysqldps经过之后再次重启nacos进入日志后成功:​​​​​......
  • TensorFlow2.x基础与mnist手写数字识别示例
    文章目录Github官网文档安装声明张量常量变量张量计算张量数据类型转换张量数据维度转换ReLU函数Softmax函数卷积神经网络训练模型测试模型数据集保存目录显示每层网络的结果TensorFlow是一个开源的深度学习框架,由GoogleBrain团队开发和维护。它被广泛应用......
  • Go使用websocket+nats队列实现聊天
    示例用的github.com/olahol/melody其实是在gorilla/websocket的基础上封装了一下packagemainimport( "encoding/json" "fmt" "github.com/nats-io/nats.go" "github.com/olahol/melody" "log" "net/http" "runti......
  • 转载:Virtuoso中通过cdsini文件修改初始设置
    转自:Virtuoso中通过cdsini文件修改初始设置-Analog/RFIC资料共享-EETOP创芯网论坛(原名:电子顶级开发网)-virtuoso的很多初始设置一点都不人性化,每次修改太费功夫,可以通过cdsini文件修改,每次启动virtuoso都会自动执行。首先找到Virtuoso启动目录,在其中编辑或新建.cdsini......
  • 深度学习 - softmax交叉熵损失
    示例代码importtorchfromtorchimportnn#多分类交叉熵损失,使用nn.CrossEntropyLoss()实现。nn.CrossEntropyLoss()=softmax+损失计算deftest1():#设置真实值:可以是热编码后的结果也可以不进行热编码#y_true=torch.tensor([[0,1,0],[0,0,1]......
  • Uniapp 城市选择JSON数据
    [{ "code":"110000", "name":"北京市", "list":[{ "code":"110100", "name":"市辖区", "list":[{ "code":"110101", "name&......
  • mysocke.h
    //mysocket.h#ifndef__MYSOCKET_H__#define__MYSOCKET_H__//头文件保护#include<bits/stdc++.h>#include<winsock.h>#pragmacomment(lib,"ws2_32.lib")usingnamespacestd;WSADATAwsdata;voidstartup(){//异步启动if(WSAStart......
  • JSON及Python操作JSON相关
    JSON及Python操作JSON相关Json简介及Python操作Json相关示例。1.JSON概念及支持的数据类型1.1什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。尽管JSON源于JavaScript,它与编程语言无关,目前被广泛应用于......
  • Python JSON教学
    JSON及Python操作JSON相关Json简介及Python操作Json相关示例。1.JSON概念及支持的数据类型1.1什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。尽管JSON源于JavaScript,它与编程语言无关,目前被广泛应用于......