二百三十二、Kettle——修改MySQL中历史数据为当前系统日期并增量同步到ClickHouse中

一、目的

由于一些雷达死了但是又需要有数据进行展示,于是就把这些雷达的历史数据,修改日期为当前日期后,增量同步到ClickHouse中,

二、难点

1、获取当前日期,并且修改历史数据的create_time字段的日期部分

2、如果采用增量表输出的话,还需要获取ClickHouse表中的最新时间,这样有2个变量参数

三、插入更新方法

(一)获取系统信息

(二)字段选择1

(三)字段选择2

(四)mysql表输入

(五)字段选择3

(六)clickhouse插入 / 更新

(七)执行情况

如果表中数据没有,那么能执行成功,插入

如果表中有该数据,那么不能执行成功,报错,这样直接防止重复插入

四、增量表输出方法

(一)链条1为插入更新的前面一部分

(二)newtime

select(

select

formatDateTime(create_time,'%Y/%m/%d')

from hurys_dc.b_statistics

order by formatDateTime(create_time,'%Y/%m/%d') desc limit 1) as new_day

由于每天执行1次任务,因此需要获取表中时间戳字段的最新日期new_day,与系统日期对比

(三)替换NULL值

(四)字段选择4

(五)记录关联 (笛卡尔输出)

当系统日期day字段>表中最新日期new_day字段后,MySQL中的数据则通过

(六)表输出

(七)执行情况

如果表中数据没有,那么能执行成功,数据导入

如果表中有该数据,也能执行成功,只是没有数据导入,这样避免重复数据

(八)重复验证

多次执行任务后,查验表中数据是否重复导入

这样两种方法都能搞定,只不过增量表输出效率比较好一点

相关推荐
-KamMinG9 分钟前
阿里云ClickHouse数据保护秘籍:本地备份与恢复详解
clickhouse·阿里云·云计算
问道飞鱼1 小时前
【大数据相关】ClickHouse命令行与SQL语法详解
大数据·sql·clickhouse
武子康2 小时前
Java-122 深入浅出 MySQL CAP理论详解与分布式事务实践:从2PC到3PC与XA模式
java·大数据·数据库·分布式·mysql·性能优化·系统架构
往事随风去4 小时前
面试官:mysql从数据库断开一段时间后,部分binlog已丢失,如何重建主从?
运维·数据库·mysql
Z_z在努力6 小时前
【杂类】应对 MySQL 处理短时间高并发的请求:缓存预热
数据库·mysql·缓存
格林威6 小时前
Linux使用-MySQL的使用
linux·运维·人工智能·数码相机·mysql·计算机视觉·视觉检测
知其然亦知其所以然8 小时前
MySQL8.x 面试高频题:为什么一定要有主键?99%的人答不全
后端·mysql·面试
DemonAvenger9 小时前
MySQL索引失效全解析:从分析到优化,10年经验实战分享
数据库·mysql·性能优化
咖啡Beans9 小时前
踩坑无数!MySQL UNION和ORDER BY混用的血泪教训,看完不再翻车
数据库·mysql
花菜会噎住11 小时前
MySQL 高级特性与性能优化:深入理解函数、视图、存储过程、触发器
android·mysql·函数·索引·视图