Clickhouse实时指标加工

Starwift实时指标加工方案

方案介绍

​ Starwift(ClickHouse)是京东云上的一款云原生数据仓库,为用户带来极速分析体验,能够支撑实时数据分析和海量数据离线分析。便捷的弹性扩缩容能力,极致分析性能和丰富的企业级特性,助力客户数字化转型。实时指标加工是从离线指标加工需求演变而来。业务场景对离线加工的时效性的要求已经升级为指标加工分析实时性的增强。

​ 实时指标加工首先要求指标加工的时效性能够保障,指标的加工的时效性是指从数据源到数据计算,再到数据的落地可查,整个过程都是完全实时的,并且保证时延最低。其次,在准确性方面,无论有多复杂的数据处理链路,实时指标的加工不会因为节点抖动或其他问题而导致数据重复或丢失。最后从投入的角度来看,如何保障后续的指标开发/加工/运维成本可控等诸多因素 。

面对实时指标的加工要求,选择了Starwift作为实时指标加工的载体。实时指标开发要求时效延迟低、数据准确高、开发运维成本低,这些与Starwift的特性高度匹配,因此整个指标的加工链路的实现使用了Starwift作为指标计算的载体。整体实现加工通过Flink+Starwift(物化视图)方案进行实时指标加工Starwift中的物化视图具有以下优势:

  1. 查询性能优化:物化视图是预计算并存储的查询结果,可以极大地提高查询效率。当基础数据发生变化时,物化视图可以快速地刷新数据,保持与基础数据的一致性。
  2. 简化复杂查询:通过物化视图,用户可以将复杂的查询逻辑抽象化,从而简化查询操作。用户只需关心最终的结果,而不需要了解底层数据的具体细节。
  3. 提高数据安全性:物化视图可以为数据提供安全保护,限制用户对特定数据的访问权限。通过视图,用户只能访问被授权的数据,从而保护敏感数据不被泄露。
  4. 降低系统负载:物化视图可以分担一部分查询负载,降低对底层数据源的压力。当大量用户同时访问时,物化视图可以有效地分散请求,减轻数据源的负担。
  5. 提高数据整合性:物化视图可以将不同数据源的数据整合到一起,为用户提供统一的数据视图。通过物化视图,用户可以轻松地获取跨多个数据源的数据,而无需进行复杂的跨库查询。

具体的实时指标加工链路如下:
指标加工
数据源:首先,数据从各种源流入,如 Kafka、数据库、API 等。

数据采集:使用 Flink 流处理框架,实时捕获并处理来自数据源的数据流。Flink 可以高效地处理大量实时数据,并进行实时分析、聚合等操作。

数据清洗与转换:在 Flink 中,可以进行数据清洗、转换和预处理,确保数据的质量和准确性。

数据存储:经过处理的数据可以存储在 Starwift 中。Starwift 是一个高性能的列式数据库管理系统,非常适合实时分析和查询。

物化视图:在 Starwift 中,可以使用物化视图来存储预先计算的结果。物化视图可以加速查询性能,并提高数据处理的效率。

查询与报表:通过 Starwift 的查询引擎,用户可以快速查询和检索实时数据,生成各种报表和分析结果。

场景举例

例如有如下广告栏位统计需求场景:用户IDurl,access_time,channel等四个字段分别记录了用户信息/访问URL/访问时间/访问频道等字段信息,现需要按照天统计每个URL的曝光次数。

按照上述需求场景,首先第一步需要通过Flink程序实时采集点击的明细数据入starwift将数据写入stg(贴源层),按照业务需求,仅仅是统计当天的URL统计指标数据,因此贴源层的数据时效性一般可以设置148小/1周的数据,一周后数据会自动清除,减少对存储节点的磁盘消耗。
实时指标加工
按照上述章节描述,我们需要在Starwift中创建一张明细表,数据通过flink加工数据直接写到贴源层,由于贴源层的数据存储时间有时常限制,所以可以构建一个TTL表

create table if not exists stg.stg_user_channel_click(user_id UInt8,url String,channel String

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见类型的yaml文件如何编写?--kind: Job|CronJob

本次介绍两个关联度很高的类型,Job和CronJob。 Job基本说明 在 Kubernetes 中,Job 是一种用于运行一次性任务的资源对象。它用于确保在集群内部执行某个任务,即使任务运行失败或其中一个 Pod 发生故障时,也会进行重试。Job 可以…

【设计模式-6】建造者模式的实现与框架中的应用

建造者模式又被成为生成器模式,是一种使用频率比较低,相对复杂的创建型模式,在很多源码框架中可以看到建造者的使用场景,稍后我们会在本文末尾展示几个框架的使用案例。  建造者模式所构造的对象通常是比较复杂而且庞大的&#x…

使用requests库测试post请求 操作流程

第一步 谷歌f12或其他抓包工具抓包,这里随机抓一个post请求 url:https://eva2.csdn.net/v3/06981375190026432f77c01bfca33e32/lts/groups/dadde766-b087-42da-8e67-d2499a520ee7/streams/a0119567-bf91-4314-ab75-f683ba6c0c0a/logs 第二步 导包 impo…

springboot邮件发送

一、 二、易出错的点 1. 关于 对于我们服务器上的静态资源,比如下面这张图片,是可以直接访问到的。 因此,我们要想在theamleaf中达到同样的效果,就要使用。 MimeMessage是JavaMail API中的一个类,用于表示电子邮件消…

企业的 Android 移动设备管理 (MDM) 解决方案

移动设备管理可帮助您在不影响最终用户体验的情况下,通过无线方式管理和保护组织的移动设备群,现代 MDM 解决方案还可以控制 App、内容和安全性,因此员工可以毫无顾虑地在托管设备上工作。移动设备管理软件可有效管理个人设备上的公司空间。M…

2024年【广东省安全员C证第四批(专职安全生产管理人员)】考试报名及广东省安全员C证第四批(专职安全生产管理人员)操作证考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年【广东省安全员C证第四批(专职安全生产管理人员)】考试报名及广东省安全员C证第四批(专职安全生产管理人员)操作证考试,包含广东省安全员C证第四批&am…

SIT1050ISO具有隔离功能,1Mbps,高速 CAN 总线收发器

➢ 完全兼容“ ISO 11898 ”标准; ➢ 内置过温保护; ➢ 100kV/s 瞬态抗扰度; ➢ 显性超时功能; ➢ -40V 至 40V 的总线故障保护; ➢ I/O 电压范围支持 3.3V 和 5V MCU ; ➢ 低环路延迟…

如何在 Windows10 下运行 Tensorflow 的目标检测?

看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包,还有是运行官方 object_detection_tutorial 不展示图片等…

RIS 辅助无线网络:基于模型、启发式和机器学习の优化方法

目录 abstractintroduction相关研究BACKGROUND AND PROBLEM FORMULATIONS FOR OPTIMIZING RIS-AIDED WIRELESS NETWORKSA 优化RIS-AIDED无线网络的背景和问题公式RIS操作原则:RIS控制:RIS部署 B 总速率/容量最大化C 功率最小化D 能源效率最大化E 用户公平…

Springboot的配置文件详解:从入门到精通,解读配置文件的奇妙世界

目录 1、前言 2、介绍 2.1 Springboot配置文件的作用 2.2 Springboot支持的配置文件类型 2.3 Springboot配置文件的加载顺序 3、YAML配置文件 3.1 YAML基本语法介绍 3.2 YAML中的基本数据类型 3.3 YAML中的复合数据类型 3.4 YAML中的配置属性 3.5 YAML中的多环境配置…

C#,入门教程(14)——字符串与其他数据类型的转换

上一篇: C#,入门教程(13)——字符(char)及字符串(string)的基础知识https://blog.csdn.net/beijinghorn/article/details/123928151 数据只有可视化才能更好地体现其价值,因而 string 与 image…

Object.keys()

目录 1、Object.keys() 是什么? 2、Object.keys(obj) 用法: 2.1 如果对象是一个对象,会返回对象的属性名组成的数组; 2.2 如果对象是一个数组,则返回索引组成的数组: 2.3 如果是字符串,返回…