当前位置: 首页 > news >正文

win10运行wordpress连云港优化推广

win10运行wordpress,连云港优化推广,自学网站开发需要看什么书,个人电脑做网站一、目的 在完成错误数据表任务后,需要对每条错误数据的错误字段及其字段值进行分析 Hive中原有SQL语句和ClickHouse现有SQL语句很大不同 二、Hive中原有代码 2.1 表结构 --31、静态排队数据清洗记录表 create table if not exists hurys_db.dwd_data_clean_…

一、目的

在完成错误数据表任务后,需要对每条错误数据的错误字段及其字段值进行分析

Hive中原有SQL语句和ClickHouse现有SQL语句很大不同

二、Hive中原有代码

2.1 表结构

--31、静态排队数据清洗记录表
create  table  if not exists  hurys_db.dwd_data_clean_record_queue(id             string     comment '唯一ID',data_type      int        comment '1:转向比,2:统计,3:评价,4:区域,5:过车,6:静态排队,7:动态排队,8:轨迹,9:事件数据,10:事件资源',device_no      string     comment '设备编号',create_time    string  comment '创建时间',field_name     string     comment '字段名',field_value    string     comment '字段值'
)
comment '静态排队数据清洗记录表'
partitioned by (day string)
stored as orc
;

2.2 SQL代码

with t3 as(
selectid,device_no,case when device_no is null then CONCAT('device_no:','null')  END AS device_no_value,create_time,case when lane_no < 0 or lane_no >255 then CONCAT('lane_no:', CAST(lane_no AS STRING)) END AS lane_no_value,case when queue_len < 0 or queue_len > 500 then CONCAT('queue_len:', CAST(queue_len AS STRING))  END AS queue_len_value,case when queue_head < 0 or queue_head > 500 then  CONCAT('queue_head:', CAST(queue_head AS STRING))  END AS queue_head_value,case when queue_tail < 0 or queue_tail > 500 then  CONCAT('queue_tail:', CAST(queue_tail AS STRING))  END AS queue_tail_value,case when queue_count < 0 or queue_count > 100  then  CONCAT('queue_count:', CAST(queue_count AS STRING))  END AS queue_count_value,concat_ws(',',case when device_no is null then CONCAT('device_no:','null') end ,case when lane_no < 0 or lane_no >255 then CONCAT('lane_no:', CAST(lane_no AS STRING)) END ,case when queue_len < 0 or queue_len > 500 then CONCAT('queue_len:', CAST(queue_len AS STRING))  END,case when queue_head < 0 or queue_head > 500 then  CONCAT('queue_head:', CAST(queue_head AS STRING))  END,case when queue_tail < 0 or queue_tail > 500 then  CONCAT('queue_tail:', CAST(queue_tail AS STRING))  END,case when queue_count < 0 or queue_count > 100  then  CONCAT('queue_count:', CAST(queue_count AS STRING))  END) AS kv_pairs  ,day
from hurys_db.dwd_queue_errorwhere day='2024-09-10'
)
insert  overwrite  table  hurys_db.dwd_data_clean_record_queue partition(day)
selectid,'6' data_type,t3.device_no,create_time,split(pair, ':')[0] AS field_name,split(pair, ':')[1] AS field_value,day
from t3
lateral view explode(split(t3.kv_pairs , ',')) exploded_table AS pair
where device_no_value is not null or queue_len_value is not null or lane_no_value is not null
or queue_head_value is not null or queue_tail_value is not null or queue_count_value is not null
;

三、ClickHouse中现有代码

3.1 表结构

--31、静态排队数据清洗记录表(长期存储)
create  table  if not exists  hurys_jw.dwd_data_clean_record_queue(id             String            comment '唯一ID',data_type      Nullable(Int32)      comment '1:转向比,2:统计,3:评价,4:区域,5:过车,6:静态排队,7:动态排队,8:轨迹,9:事件数据,10:事件资源',device_no      Nullable(String)     comment '设备编号',create_time    DateTime          comment '创建时间',field_name     Nullable(String)     comment '字段名',field_value    Nullable(String)     comment '字段值',day            Date                 comment '日期'
)
ENGINE = MergeTree
PARTITION BY day
PRIMARY KEY (day,id)
ORDER BY (day,id)
SETTINGS index_granularity = 8192;

3.2 SQL代码

SELECTid,'6' AS data_type,device_no,create_time,splitByString(':', pair)[1] AS field_name,splitByString(':', pair)[2] AS field_value,day
FROM (SELECTid,device_no,create_time,day,arrayConcat(if(device_no IS NULL, ['device_no:null'], []),if(lane_no < 0 OR lane_no > 255, [concat('lane_no:', toString(lane_no))], []),if(queue_len < 0 OR queue_len > 500, [concat('queue_len:', toString(queue_len))], []),if(queue_head < 0 OR queue_head > 500, [concat('queue_head:', toString(queue_head))], []),if(queue_tail < 0 OR queue_tail > 500, [concat('queue_tail:', toString(queue_tail))], []),if(queue_count < 0 OR queue_count > 100, [concat('queue_count:', toString(queue_count))], [])) AS pairsFROM hurys_jw.dwd_queue_errorWHERE device_no IS NULL ORlane_no < 0 OR lane_no > 255 OR   queue_len < 0 OR queue_len > 500 ORqueue_head < 0 OR queue_head > 500 OR  queue_tail < 0 OR queue_tail > 500 ORqueue_count < 0 OR queue_count > 100
) AS subquery
array join pairs AS pair
;

注意:1、错误数据表dwd_queue_error的清洗字段不能设置nullable,这是一大坑

           2、如果错误数据表中的清洗字段是Decimal(10,1),那么相关字段就要调整

arrayConcat(if(device_no IS NULL, ['device_no:null'], []),if(lane_no < 0 OR lane_no > 255, [concat('lane_no:', toString(lane_no))], []),if(azimuth < 0 OR azimuth > toDecimal32(359.9,1), [concat('azimuth:', toString(azimuth))], []),if(rcs < -64 OR rcs > toDecimal32(63.5,1), [concat('rcs:', toString(rcs))], []),if(prob < 0 OR prob > 100, [concat('prob:', toString(prob))], [])
) AS pairs

3.3 Kettle任务

3.3.1 newtime

3.3.2 替换NULL值

3.3.3 clickhouse输入

3.3.4 字段选择

3.3.5 clickhouse输出

3.3.6 执行任务

3.3.7 海豚调度

由于不需要实时记录,因为把所有数据的清洗记录任务放在一个海豚工作流里面,T+1执行即可!

http://www.hyszgw.com/news/32871.html

相关文章:

  • 一家公司多个网站备案大学选修课网站建设
  • 深圳电商网站网站背景色搭配
  • wordpress4.8.3安装广州seo网站推广公司
  • 建设网站的协议范本公关公司是做什么的?
  • 重庆公司网站 技术支持做网站项目主要技术
  • 哈尔滨做网站电话宁波职业能力建设网
  • 网站建设和域名什么关系二维码生成器怎么弄
  • 网站开发语言html5 php广告设计与制作发展趋势
  • 做网站支持提现支付宝网络建站工作室
  • 网站建设公司工作岗位说明书北京建筑职业培训网
  • 什么做自己的网站合肥设计网站
  • 网站建设参考书籍东昌府做网站推广
  • 梧州网站建设哪家好沧州最新消息今天
  • 网站建设 租赁佛系wordpress博客
  • qq空间做淘宝客网站怎么样做电商赚钱
  • 阿里邮箱 网站开发在线ui设计平台
  • 正规网站备案信息表wordpress编辑器字体
  • 最新淘宝客网站程序动漫设计学校哪里好
  • 局网站建设工作总结山东省住房建设厅网站
  • 建筑网站大图wordpress _x
  • 中国可信网站查询wordpress4.5.1
  • 做做网站已更新网络建设与管理好找工作吗
  • 建设免费网站青岛网站seo分析
  • 网站seo外包技术资源手机访问asp网站
  • 做seo要明白网站内关闭wordpress评论 通过修改代码的方法
  • 揭阳网站免费建站关键词优化顾问
  • 建设静态网站工具品牌策划策略
  • wordpress企业站实例宁波企业网站搭建价格
  • 贵州遵义知名网站建设福州服务类网站建设
  • 苏州建网站哪家展示营销类网站