二百八十、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任务运行

搞定!

相关推荐
TDengine (老段)1 小时前
TDengine 支持的平台汇总
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
火龙谷1 小时前
【hadoop】相关集群开启命令
大数据·hadoop·分布式
livemetee3 小时前
一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (二)
大数据·elk·搜索引擎
TDengine (老段)4 小时前
TDengine 开发指南——无模式写入
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TDengine (老段)4 小时前
TDengine 在电力行业如何使用 AI ?
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
盛寒5 小时前
自然语言处理 目录篇
大数据·自然语言处理
武子康6 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
武子康6 小时前
大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
大数据·人工智能·算法·机器学习·ai·spark-ml·boosting
咸鱼求放生14 小时前
es在Linux安装
大数据·elasticsearch·搜索引擎
人大博士的交易之路15 小时前
今日行情明日机会——20250606
大数据·数学建模·数据挖掘·数据分析·涨停回马枪