二百七十五、Kettle——ClickHouse增量导入数据补全以及数据修复记录表数据(实时)

一、目的

在完成数据修复后,需要生成修复记录

二、Hive中原有代码

2.1 表结构

--52、数据补全以及数据修复记录表 dwd_data_correction_record
create  table  if not exists  hurys_db.dwd_data_correction_record(data_type      int        comment '数据类型 1:转向比,2:统计,3:评价,4:区域,6:静态排队,7:动态排队',device_no      string     comment '设备编号',id             string     comment '唯一ID',create_time    timestamp  comment '创建时间',record_type    int        comment '记录类型 0:补全,1:修复'
)
comment '数据补全以及数据修复记录表'
partitioned by (day string)
stored as orc
;

2.2 SQL代码

--6 静态排队数据修复记录
insert into table  hurys_db.dwd_data_correction_record partition(day)
select'6' data_type,t1.device_no,t1.id,t1.create_time,'1' record_type,t1.day
from hurys_db.dwd_queue_error as t1
right join hurys_db.dwd_queue as t2
on t1.id=t2.id and t1.device_no=t2.device_no
where t1.id is not null and t1.day='2024-09-04'
;

三、ClickHouse中现有代码

3.1 表结构

--52、数据补全以及数据修复记录表 dwd_data_correction_record
create  table  if not exists  hurys_jw.dwd_data_correction_record(data_type      Int32      comment '数据类型 1:转向比,2:统计,3:评价,4:区域,6:静态排队,7:动态排队',device_no      String     comment '设备编号',id             String     comment '唯一ID',create_time    DateTime   comment '创建时间',record_type    Int32      comment '记录类型 0:补全,1:修复',day            Date       comment '日期'
)
ENGINE = MergeTree
PARTITION BY day
PRIMARY KEY (day,id)
ORDER BY (day,id)
SETTINGS index_granularity = 8192;

3.2 SQL代码

--6 静态排队数据修复记录
select'6' data_type,t1.device_no,t1.id,t1.create_time,'1' record_type,cast(t1.day as String) day
from hurys_jw.dwd_queue_error as t1
inner join  hurys_jw.dwd_queue as t2
on t1.id=t2.id and t1.device_no=t2.device_no
where t1.id is not null --and t1.create_time > ?
group by t1.device_no,  t1.id, t1.create_time,  t1.day
;

四、Kettle任务

由于修复记录必须是数据完成修复后执行,但是又不能每天执行一次,因为数据修复任务最后会删除错误数据表当天分区数据

4.1 newtime 2

4.2 替换NULL值 2

4.3 clickhouse输入 2

select
       '6' data_type,
       t1.device_no,
       t1.id,
       t1.create_time,
       '1' record_type,
       cast(t1.day as String) day
from hurys_jw.dwd_queue_error as t1
inner join  hurys_jw.dwd_queue as t2
on t1.id=t2.id and t1.device_no=t2.device_no
where t1.id is not null  and t1.create_time > ?
group by t1.device_no,  t1.id, t1.create_time,  t1.day
;

4.4 字段选择 2

4.5 clickhouse输出 2

4.6 执行任务

修复记录和数据修复任务放在一个kettle任务里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/907.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

无人机之集群控制方法篇

无人机的集群控制方法涉及多个技术和策略,以确保多架无人机能够协同、高效地执行任务。以下是一些主要的无人机集群控制方法: 一、编队控制方法 领航-跟随法(Leader-Follower) 通过设定一架无人机作为领航者(长机&am…

第02章 MySQL环境搭建

一、MySQL的卸载 如果安装mysql时出现问题,则需要将mysql卸载干净再重新安装。如果卸载不干净,仍然会报错安装不成功。 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务。按键盘上的“Ctrl Alt Delete”组合键&#xff0…

使用Django REST framework构建RESTful API

使用Django REST framework构建RESTful API Django REST framework简介 安装Django REST framework 创建Django项目 创建Django应用 配置Django项目 创建模型 迁移数据库 创建序列化器 创建视图 配置URL 配置全局URL 配置认证和权限 测试API 使用Postman测试API 分页 过滤和排序…

远程控制项目第二天

所有有关网络编程的项目,最基础的框架就是那些固定的流程,Socket,bind,listen,accept,然后我需要的就是在此基础上进行完善和优化,然后再Windows网络编程中,在socket前首先需要初始化…

从源码角度分析集合类并发修改异常

文章目录 一、问题描述二、问题分析三、问题解决四、总结 本篇是对于集合类源码浅析のArrayList中第五部分并发修改异常原因分析的扩展补充。 一、问题描述 我们首先看一段代码&#xff1a; public static void main(String[] args) {ArrayList<String> list new ArrayL…

Golang--流程控制

1、分支结构 1.1 if分支 单分支 语法&#xff1a;if 条件表达式 { 逻辑代码 } 当条件表达式为true时&#xff0c;就会执行代码块的代码。条件表达式左右的()可以不写&#xff0c;也建议不写 if和表达式中间&#xff0c;一定要有空格在Golang中&#xff0c;{}是必须有的,就算你…

centos7之LVS-DR模式传统部署

介绍 优缺点以及适用场景 优点&#xff1a;能负载更多的Realserver减轻LB的压力,性能高于tun模式。 缺点&#xff1a;不支持端口转发(VIP:80必须代理RIP:80),Realserver和LVS需要在同一网段下。 适用&#xff1a;适用于大多数公司&#xff0c;也是大多数公司用的最多的模式。…

序列帧动画

游戏画面中之所以能产生动态效果主要的原因是因为 游戏循环 机制&#xff0c;即游戏画面每隔一个固定时间&#xff08;每一帧&#xff09;就会重新渲染。游戏运行时&#xff0c;每一帧都会更新屏幕&#xff0c;这种更新频率通常称为 帧率&#xff08;Frames Per Second&#xf…

LeetCode:83. 删除排序链表中的重复元素 II(java) 保留一个重复的

目录 题目描述: 代码: 第一种: 第二种: 题目描述: 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2]示例 2&#xff1a…

Java项目实战II基于spring boot的个人博客系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在信息爆炸的时代&#xff0c;个人博客…

强网杯 2024 pwn false AK

强网杯 2024 pwn &#x1f3c4;&#x1f3fd;‍♀️前言&#x1f3c4;&#x1f3fd;‍♂️heap&#xff08;UAF house of banana orw&#xff09;&#x1f3c4;&#x1f3fd;分析&#x1f3c4;&#x1f3fd;解题&#x1f3c4;&#x1f3fd;exp &#x1f3c4;&#x1f3fd;‍♂…

shodan进阶-实战案例

导语 一、CVE-2019-0708&#xff08;3389漏洞&#xff09; 1. 概要 2. 原理 3. 搜索命令 二、vnc空密码&#xff08;未授权访问&#xff09; 1. 概要 2. 原理 3. 搜索命令 三、思科网络设备未授权 1. 概要 2. 原理 3.搜索命令 四、MongoDB 未授权访问 1. 概要 2…

并发编程中的CAS思想

共享变量操作的原子性 分析如下代码片段&#xff1a; // 获取共享变量时&#xff0c;为了保证该变量的可见性&#xff0c;需要使用 volatile 修饰。 static volatile int count 0;public static void add(){count; }public static void main(String[] args) throws Interrup…

占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 我国调味料市场近年来展现出惊人的增长潜力&#xff0c;各大品牌纷纷加大投入&#xff0c;力求在竞争中脱颖而出。 广东美味鲜调味食品有限公司&#xff0c;作为行业内的佼佼者&#…

激活函数、条件熵和最大熵在机器学习的应用

文章目录 摘要Abstractsigmoid 和 softmaxsigmoid和softmax的关系 条件熵最大熵总结 摘要 本周学习内容探讨了神经网络中激活函数的选择及其对梯度消失问题的影响。通过使用 ReLU 函数替代 Sigmoid 函数来改善梯度消失问题的优化方法&#xff0c;同时分析了 Sigmoid、Softmax …

【MySql】-0.1、Unbunt20.04二进制方式安装Mysql5.7和8.0

1、下载Mysql二进制报&#xff08;选择Linux的通用版本&#xff09; mysql官网地址&#xff1a;https://downloads.mysql.com/archives/community/ wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26-linux-glibc2.12-x86_64.tar wget https://downloads.…

全渠道供应链打造中企业定制开发2+1链动模式S2B2C商城小程序的策略与影响

摘要&#xff1a;本文探讨了全渠道供应链打造对于零售企业的重要性及面临的挑战&#xff0c;着重分析了物流环节整合的难点&#xff0c;并以家电行业为例说明了节假日期间物流对企业经营的影响。同时&#xff0c;引入“企业定制开发21链动模式S2B2C商城小程序”这一关键因素&am…

【Python+Pycharm】2024-Python安装配置教程

【PythonPycharm】2024-Python安装配置教程 一、下载装 Python 1、进入Python官网首页&#xff0c;下载最新的Python版本 Download Python | Python.org 选择对应版本下载 安装 测试安装情况 python如果安装失败 在系统环境变量添加安装路径 where pythonwin7安装路径添加…

C++开发者必看:用Flow-IPC改善进程间通信

进程间通信&#xff08;IPC&#xff09;对于现代计算环境至关重要&#xff0c;这种机制使得多个处理器核心能够同时执行多个线程。IPC的本意是让不同线程甚至独立程序能够高效地共享数据。例如&#xff0c;当我们在线观看流媒体视频时&#xff0c;可能会有一个线程负责视频解码…

JAVA 插入 JSON 对象到 PostgreSQL

博主主页:【南鸢1.0】 本文专栏&#xff1a;JAVA 目录 ​编辑 简介 所用&#xff1a; 1、 确保 PostgreSQL 数据库支持 JSON&#xff1a; 2、添加 PostgreSQL JDBC 驱动 3、安装和运行 PostgreSQL 4、建立数据库的连接 简介 在现代软件开发中&#xff0c;由于 JSON 数据…