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.mzph.cn/news/613032.shtml

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

相关文章

Windows RPC运行时漏洞事后总结

2022年4月前后,Windows RPC运行时被曝出存在远程代码执行漏洞,当时曾引起很多人广泛关注。微软很快做出反应,发布补丁程序进行修补。这次事件中,Windows远程过程调用(RPC)运行时共出现三个关键漏洞&#xf…

Xcode15一个xcworkspace管理多个xcodeproj从零开始,一个主程序,多个子程序,一个主程序引用多个静态库

创建主程序:MainProject 目录结构: sandbox设置成NO:否则Xcode15不能运行 创建子程序 创建Framework 创建多个子程序后的目录结构 在主程序的Podfile中添加代码 # Uncomment the next line to define a global platform for your project pla…

补充 vue3用户管理权限(路由控制)

之前有人问我 ,如果是二级路由如何添加,这里我做一个补充吧。直接拿方法去用就行。也不做解释了。稍微看下就能看懂了 假设,后端返回给我们一个数据 [“/defa”,"/defa/defa1"] 这样的一个路由表,我们就需要通过这个路…

Zabbix6.4 监控系统 密码忘记怎么办

Zabbix6.4 监控系统 密码忘记怎么办? 如下图 本次主要介绍在Zabbix6.4中重置用户密码的步骤。 步骤 如果您忘记了Zabbix密码并且无法登录,请向Zabbix管理员求助。 超级管理员用户可以在用户配置表单中更改所有用户的密码。 如果超级用户忘记了密码&a…

U8 内嵌.Net UserControl,winform挂菜单

目录 1.创建类库2.项目引用U8安装路径dll:3.新建类MyLoginable 继承 NetLoginable:4.新建类 MyNetUserControl 实现接口 INetUserControl:5.新建类 NetSampleDelegate 实现上面的CreateToolbar方法6.新建你的用户控件7.最后一步到UAP挂接菜单…

前端文件下载方法(包含get和post)

export const downloadFileWithIframe (url, name) > {const iframe document.createElement(iframe);iframe.style.display none; // 防止影响页面iframe.style.height 0; // 防止影响页面iframe.name name;iframe.src url;document.body.appendChild(iframe); // 这…

【设计模式-02】Strategy策略模式及应用场景

一、参考资料 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…

计算数学表达式的程序(Java课程设计)

1. 课设团队介绍 团队名称 团队成 员介绍 任务分配 团队成员博客 XQ Warriors 徐维辉 负责计算器数据的算法操作,如平方数、加减乘除,显示历史计算记录 无 邱良厦(组长) 负责计算器的图形设计,把输入和结果显…

模型评估:ROC曲线

二值分类器(Binary Classifier)是机器学习领域中最常见也是应用最广泛的分类器。评价二值分类器的指标很多,比如precision、recall、F1 score、P-R曲线等。相比而言,ROC曲线有很多优点,经常作为评估而知分类器最重要的…

斯坦福Mobile ALOHA提到的ACT之外的另两项技术:Diffusion Policy、VINN

前言 本文接上一篇文章《斯坦福机器人Mobile ALOHA的关键技术:动作分块ACT的算法原理与代码剖析》而来,当然最开始本文是作为上一篇文章的第二、第三部分的 但因为ACT太过关键,除了在上一篇文章中写清楚其算法原理之外,还得再剖…

如何在 Ubuntu 20.04 上安装 Node.js

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 20.04 上安装 Node.js 介绍 Node.js是用于服务器端编程的 JavaScript 运行时。它允许开发人员使…

基于jackson封装的json字符串与javaBean对象转换工具

文章目录 一、概述二、编码实现1. pom文件引入组件2. 核心代码 三、功能测试1. 测试文件2. 测试代码 四,完整代码 一、概述 带有API接口交互的web项目开发过程中,json字符串与javaBean对象之间的相互转换是比较常见的需求,基于jackson Objec…

数控开料机对比木工雕刻机的优势

数控开料机和木工雕刻机都属于木工机械加工设备,都可以用来开料和雕刻,但在市场价格、床体结构、技术要求等方面二者存在不小的差异,那么全自动数控开料机对比普通木工雕刻机有什么优势呢。 首先我们都知道,木工雕刻机主要应用于…

鸿蒙开发之组件不同状态样式设置stateStyles

开发中会有一种场景,组件(如:按钮)在不同状态下展示的样式不同。例如在normal状态和按下状态显示不同的样式,这个时候就可以通过stateStyles属性来设置组件。 Entry Component struct OfficialStateStylePage {State …

【5种常见的rpc封装方案】

1)回调(唯一callbackId) 1.显式回调写法 // 自己封装callbackId send(msgId, req, (data)->{ }) 隐式回调写法: send(msgId, req); ResHandler(data){ } 协程其实也算是隐式的写法,毕竟协程只能在进程内通信,只不过算是等到对方回复后&#xff0…

开启golang学习之路

Go 编程语言是一个开源项目,旨在提高程序员的工作效率。 Go 富有表现力、简洁、干净且高效。它的并发机制使编写能够充分利用多核和联网机器的程序变得容易,而其新颖的类型系统可以实现灵活和模块化的程序构建。 Go 可以快速编译为机器代码,…

Prometheus实战篇:Alertmanager配置概述及告警规则

Prometheus实战篇:Alertmanager配置概述及告警规则 在此之前,环境准备和安装我就不在重复一遍了.可以看之前的博客,这里我们直接步入正题. Alertmanager配置概述 Alertmanager主要负责对Prometheus产生的告警进行统一处理,因此在Alertmanager配置中一般会包含以下几个主要部分…

电脑提示dll丢失怎么办,教你一招将dll修复

使用电脑时,你的电脑是否出现关于dll文件丢失或找不到的问题,出现这种问题又该如何解决呢,dll文件问题会导致软件无法打开,或者会导致系统崩溃。今天就来教大家如何快速解决dll文件修复。 一.如何修复dll修复 方法一:…

虹科分享 | 实现网络流量的全面访问和可视性——Profitap和Ntop联合解决方案

文章速览: 为什么客户抱怨“网速太慢”?网络流量监控联合解决方案Profishark&Ntop联合解决方案的优势 这次和大家分享如何捕捉、分析和解读网络数据,从而更有效地监控网络流量,实现网络性能的最大化。先来看一个实际的问题—…

计算机体系结构----重排序缓冲(ROB)

ROB的思想:不按顺序完成指令,但在使结果对体系结构状态可见之前重新排序 当指令被解码时,它会在 ROB 中保留下一个顺序条目当指令完成时,它将结果写入 ROB 条目当指令在 ROB 中最早并且无一例外地完成时,其结果移动到…