二百八十、ClickHouse——用Kettle对DWD层补全的清洗数据进行记录

一、目的

在对DWD层清洗数据进行补全后,需要生成相应的补全记录,作为数据的标记

二、实施步骤

2.1 建表

复制代码
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;

2.2 SQL语句

复制代码
--1.2统计数据补全记录
select
       '2' data_type,
       t2.device_no,
       t2.id,
       t2.create_time,
       '0' record_type,
       cast(t2.day as String) day
from hurys_jw.dwd_statistics as t2
left join hurys_jw.ods_statistics as t3
on t3.device_no=t2.device_no and t3.create_time=t2.create_time and t3.lane_no=t2.lane_no
       and t3.section_no = t2.section_no and t3.coil_no=t2.coil_no
where t2.day='2024-12-16'  and  length(t3.device_no)=0
;

注意红色部分,由于DWD清洗表的device_no没有设置允许非空,因此不能使用 t3.device_no is null 作为条件

2.3 Kettle任务

2.3.1 newtime

2.3.2 替换NULL值

2.3.3 clickhouse输入

2.3.4 字段选择

2.3.5 clickhouse输出

2.3.6 Kettle任务运行

搞定!

相关推荐
Qzkj6661 小时前
从规则到智能:企业数据分类分级的先进实践与自动化转型
大数据·人工智能·自动化
q***47433 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
寰宇视讯3 小时前
奇兵到家九周年再进阶,获36氪“WISE2025商业之王 年度最具商业潜力企业”
大数据
声网3 小时前
活动推荐丨「实时互动 × 对话式 AI」主题有奖征文
大数据·人工智能·实时互动
Hello.Reader5 小时前
在 YARN 上跑 Flink CDC从 Session 到 Yarn Application 的完整实践
大数据·flink
Learn Beyond Limits5 小时前
Data Preprocessing|数据预处理
大数据·人工智能·python·ai·数据挖掘·数据处理
放学有种别跑、6 小时前
GIT使用指南
大数据·linux·git·elasticsearch
gAlAxy...6 小时前
SpringMVC 响应数据和结果视图:从环境搭建到实战全解析
大数据·数据库·mysql
ganqiuye6 小时前
向ffmpeg官方源码仓库提交patch
大数据·ffmpeg·video-codec
越努力越幸运5087 小时前
git工具的学习
大数据·elasticsearch·搜索引擎