01 2024 档案
摘要:1、下图是一些常见的数据同步业务场景: 实时数据:对实时性要求很高,延迟在毫秒范围内。常见的有kafka/rabbitmq等消息中间件,mysql binlog日志,oracle归档日志等。 离线数据:对实时性要求不高,可以分钟级、小时级、日级等。比如历史数据迁移或者T日处理T-1日数据等。 全量同
阅读全文
摘要:1、carte服务可以单体运行也可以集群方式运行,今天我们一起来学习下carte的集群模式部署和使用。本次示例用一个master和两个slave从节点演示。 carte-config-master-8080.xml 配置文件: 1 <slave_config> 2 <!-- 3 Document d
阅读全文
摘要:1、设置变量 a、可以通过转换中的“设置变量”步骤进行设置。 b、手动通过kettle.properties文件或通过“编辑”菜单中的“设置环境变量”对话框来定义变量。kettle.properties文件的位置可以通过设置KETTLE_HOME来指定,如设置KETTLE_HOME 为/opt/ke
阅读全文
摘要:1、我们在平常写应用程序的时候,需要主动捕获异常或者错误,不然程序有可能异常退出。同样kettle 也支持异常或者错误处理,下图展示的是在批量插入数据的时候捕获异常,如唯一健冲突,死锁等,并将错误信息保存到表里面,方便后续邮件预警和排查问题。 2、在需要异常处理的步骤上面右键,点击定义错误处理,如下
阅读全文
摘要:1、之前第九章有讲过kettle 表输出步骤,里面有简单的提到过表输出步骤里面的表分区设置,这里详细介绍下。 表分区数据:选择此选项可根据“分区”字段中指定的日期字段的值将数据拆分到多个表中。选择此选项后,数据将插入到表中,这些表的名称遵循<target table>_<date format>模式
阅读全文
摘要:1、这里的集群实际上是数据分区或者分片的概念,如中国全国的学生,应该不会都存在一张表里面,有可能每个省市一个表进行存储。 2、集群(分区),如下图所示 设置在“集群”标签,勾选“使用集群”,然后定义两个分区。这里的分区实际指的是数据库实例,需要指定自定义的分区ID,数据库实例的主机名(IP)、端口、
阅读全文
摘要:无论开发应用程序还是做ETL研发,都离不开连接池的应用,如下是kettle中mysql 连接池设置界面,今天重点讲解下连接池中的参数配置。 defaultAutoCommit 当 defaultAutoCommit 参数设置为 true 时,表示连接会自动提交每个单独的SQL语句,这意味着每个语句都
阅读全文
摘要:1、我们平常用的最多的数据库就是mysql了,这里我以mysql为例说下数据库连接池配置。为啥要用连接池,因为数据库建立连接很费性能,所以就建立连接池(提前建立好一批连接)缓存起来提高性能。下图中mysql的设置参数,提前是需要把mysql的jar(如mysql-connector-java-8.0
阅读全文
摘要:1、平常我们在用kettle设计job的时候,会用到循环来处理一些业务逻辑,比如循环检测某个表中的数据条数等。这个时候就会用到一个特别重要的步骤:检验字段的值。 下图是一个的通过初始化DNOE变量为false,等待3s之后更新DONE变量为true的一个循环demo。 2、设置变量步骤,可以从属性文
阅读全文
摘要:1、前面我们一起学习了,很多转换的知识,转换为批量的开发做铺垫,今天我们一起来学习下kettle job的知识。 kettle job 常用的步骤如下图,有Start、转换、作业、成功等步骤。 2、下面是一个简单的批量设计图,用到了Start、转换、作业、成功四个步骤。 Start:可以设置执行策略
阅读全文