首页 > 其他分享 >kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤

kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤

时间:2024-06-10 21:55:05浏览次数:14  
标签:输出 多个 步骤 kettle 阻塞 数据 Blocking 模拟

场景:ETL沟通交流群内有小伙伴反馈,如何多个分支处理完毕之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。

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

 1、 如下流程图中利用Blocking step步骤同时阻塞【模拟表输出1】和【模拟表输出2】两个步骤,只有当两个步骤都执行完毕之后数据才会通过Blocking step.

 

1) 表输出步骤加载数据,sql为select * from t1,t1表中有三条数据。

2)当前数据步骤为写日志步骤,打印数据读取记录。

3)延迟2秒和延迟3秒步骤可以暂停步骤立刻执行,添加为了演示执行顺序效果。

4)模拟表输出1和模拟表输出2实际上是写日志步骤,为了模拟表输出步骤,方便演示。

5)将模拟表输出1和模拟表输出2同时连接Blocking step步骤,之后打印日志记录最后一行数据。

注意:这里的最后一行数据不是表输入步骤中的最后一行数据,而是通过模拟表输出1和模拟表输出2两个步骤中的最后一条数据。

6)当前数据步骤使用的数据发送是Round-Robin轮询调度。

7)下面为执行的视频,需公众号查看。

2、上边的案例是采用Round-Robin轮询调度,下面我们调整数据发送为数据复制方式,该方式可以将当前数据的数据复制两份,每份的数据都是一样的。

这种情况适用于从A表读取数据,同时写入B表和C表,这种情况下Blocking step步骤依然有效。

 

 

 

标签:输出,多个,步骤,kettle,阻塞,数据,Blocking,模拟
From: https://www.cnblogs.com/zjBoy/p/18240400

相关文章

  • nvm介绍、nvm下载、nvm安装、配置及nvm使用,nodejs安装,版本管理切换工具,轻松地管理多个
    1.卸载以前的Nodejs1.1.控制面板>卸载程序1.2.找到后右键卸载1.3.删除node的安装目录和此目录下包含npm的文件1.4.打开命令行检查是否删除成功出现这个说明已经删除成功2.NVM下载当使用nvm(NodeVersionManager)安装Node,js时,您可以轻松......
  • 记一次锁使用不当导致Dubbo线程阻塞问题
    背景线上环境一个后台项目,提供基于dubbo实现的事件分发服务,最近突然出现心跳超时。问题分析检查内存是否溢出jstat-gcutil81661000意料之中,内存正常,因为内部有接入内存溢出告警,如果是内存溢出应该有收到通知,但是这次没有溢出通知。查看线程栈jstack-l8166发现有大......
  • kettle_Hbase
    kettle_Hbase☀Hbase学习笔记 读取hdfs文件并将sal大于1000的数据保存到hbase中前置说明:1.需要配置HadoopConnect将集群中的/usr/local/soft/hbase-1.4.6/conf/hbase-site.xml复制至Kettle中的Kettle\pdi-ce-8.2.0.0-342\data-integration\plugins\pentaho-big-data......
  • ♻️同步和异步;并行和并发;阻塞和非阻塞
    概念辨析同步(Synchronous)和异步(Asynchronous)同步和异步关注的是任务完成的顺序和时间:同步操作意味着在执行某个任务时,必须等待这个任务完成后才能继续执行下一个任务。这通常会导致执行线程在等待任务完成时处于阻塞状态。异步操作允许执行线程在发起一个任务后,不需要等待......
  • kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so e
    场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。解决:使用步骤Blockingstep进行阻塞处理即可。1、下面的demo演示从表t1同步数据至表t2(t1表中有三条数据,t2为空表,两个表表结构相同),然后数据同步完毕之后进......
  • 另一个Java基于阻塞的定时消费内存队列(依赖guava)
    本文的代码是对一个Java基于阻塞的定时消费内存队列-Jackie_JK-博客园(cnblogs.com)方法的改进,完善了包装以及部分细节,非jdk21可能需要更换线程池类型。消费类型:@Getter@AllArgsConstructorpublicenumPushType{ELASTIC,SQL,;}队列参数枚举:@Getter@AllAr......
  • 在Linux中,安装多个桌面环境有帮助吗?
    在Linux中安装多个桌面环境确实可以带来一些好处,但也可能伴随着一些潜在的挑战。以下是安装多个桌面环境的一些考虑因素:1.好处:适应不同需求:不同的用户可能偏好不同的桌面环境。有的用户可能喜欢轻量级的桌面如XFCE或LXDE,以节省资源;而另一些用户可能更倾向于功能丰富、视觉效......
  • web开发者必备:用nvm-windows优雅地使用多个版本的Node.js 附下载链接
    一、为什么要安装多个版本的node.js现在开发前端项目,有的需要node.js版本是18以上的,或者其他版本,然而电脑上安装的是v16,直接升级到18,又怕影响老项目,最好的办法就是安装多个版本,需要哪个切换一下就行。网上有一些安装多个版本node.js的做法,很麻烦。推荐nvm这个工具,很方便。nvm全......
  • vue3多个表单一起校验
    当定义了多个表单但是保存时需要同时校验的时候可以这样做<template><el-form:model="userForm1"label-width="auto"ref="userFormRef1"></el-form><el-form:model="userForm2"label-width="auto......
  • 轻松实现文件批量迁移至多个位置!
    在数字信息化办公中,文件如同知识的使者,穿梭于各个角落,或聚集在特定的文件夹。随着工作的深入和资料的积累,我们经常需要将这些文件进行批量迁移,以实现更好的组织和管理。不过,传统的文件复制方式往往耗时费力,所以小编今天就来帮助大家轻松实现轻松实现文件批量迁移至多个位置。让......