大数据中流式计算中的Window机制

流式计算中的Window机制

1. 概述

1.1 流式计算VS批式计算

数据价值:实时性越高,数据价值越高在这里插入图片描述

1.2 批处理

批处理模型典型的数仓架构为T+1架构,即数据计算时天级别的,当天只能看到前一天的计算结果。
通常使用的计算引擎为Hive或者Spark等。计算的时候,数据是完全 ready 的,输入和输出都是确定性的。

1.2.1 小时级批处理

将调度级别下降到小时级,每小时一次调度,理论上可以实现更实时的数仓,但是每次周期处理调度外还有申请、释放等过程,比较消耗资源。
一般线上数仓任务,计算时间从几分钟到几小时不等,分布不均匀,数仓的建模是分层的,三层五层甚至七层都存在,若所有的数据从产生到计算完成都要求在一个小时内,在很多场景下是做不到的。

1.2.2 处理时间窗口

实时计算:处理时间窗口
数据实时流动,实时计算,窗口结束直接发送结果,不需要周期调度任务。

1.2.3 处理时间VS事件时间

处理时间:数据在流式计算系统中真正处理时所在机器的当前时间。
事件时间:数据产生的时间,比如客户端、传感器、后端代码等上报数据时的时间。

1.2.4 事件时间窗口

实时计算:事件时间窗口
数据实时进入到真实事件发生的窗口中进行计算,可以有效的处理数据延迟和乱序。

1.2.5 Watermark

在数据中插入一些 watermark,来表示当前的真实时间。
在数据存在乱序的时候,watermark 就比较重要了,它可以用来在乱序容忍和实时性之间做一个平衡。

2. Watermark

2.1 什么是Watermark

表示系统认为的当前真实的事件时间

2.2 如何产生Watermark

Watermark产生:一般是从数据的事件时间来产生,产生策略可以灵活多样,最常见的包括使用当前事件时间的时间减去一个固定的delay,来表示可以可以容忍多长时间的乱序。
SQL

CREATE TABLE Orders(
    user BIGINT,  
    product STRING, 
    order_time TIMESTAMP
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值