大数据中的流计算 |
您所在的位置:网站首页 › 大数据中可以用来实现流计算的技术 › 大数据中的流计算 |
文章目录
什么是流式计算数据流数据时序
数据集有界数据集无界数据集
主要应用场景批、流计算相结合
Q&A附录
![]() 当你谈起流式计算的时候,说明你当前的处境已经涉及到了大数据范畴。 流式计算是大数据计算模式之一,之外还有 图计算、交互计算,与之常对应出现的批计算,等等… 了解流式计算,首先要明确一下数据流的相关背景。 数据流在生产中,数据产出的周期与产品生命周期一致,处理加工链路呈流状。数据像河流一样从服务起触发,流经各个环节,至服务止。 数据时序产品架构各种玲琅满目的技术手段、业务逻辑,本质可以归结于数据的处理加工,且这些数据具备天然的时序特征。 这里有两个需要关注的时间点:事务发生、处理事务。 产品角度出发,当事务出发时,服务务必实时进行处理并及时反馈响应结果,也就是 “ 事务发生时间 ” = “ 处理事务时间 ”。但在实际成产中,处理事务存在网络、IO、程序处理、存储…等多个环节,上述两个时间点无法做到相等,这样的特征使我们的数据有了天然的时序特性。 数据的时序特性在大数据场景中显的极为明显,而在规模不足的业务却微而又微。 在非大数据业务中,由于数据规模的较小、加之运用各种手段去压缩数据处理过程,使我们称之 ” 平响 “ 、P90、P99…等各个衡量数据加工的时效指标控制在几窄的阈值范围。一般在 300ms 以内,150 - 200 ms 为适宜,越久意味着用户体验越差。 数据的时序特性可有效进行时间窗口的裁定。 数据集基于数据流特性,可根据数据产生方式、时序特性划分为有界数据集、无界数据集。 有界数据集数据含有一定的时间边界。可以是一天、一个小时、或者一分钟等等,在此边界内,数据存在价值。 比如,更新某天榜、周榜、月榜单,则在每天零点做前一阶段数据进行处理;或者计算 DAU\PV,以 Hive 分区进行检索… 可简单归纳为:从某介质中取出有界数据,以某种形式进行加工后,存储至某介质。 对有界数据集的处理方式叫做批计算,常用的分布式批计算框架有 Apache Hadoop、 Spark等。 无界数据集把时间边界广义化,或者无限拉长,数据就成了无界,数据至始至终在流动。 比如,服务的日志、Trace、画像、Ab…等等; 对无界数据集的处理方式叫做流计算,流计算的处理实现需要考虑数据 容错性、顺序性、幂等性…等等,复杂度相对较高。 目前Apache Storm、Spark Streaming、Apache Flink等分布式计算引擎都能不同程度地支持处理流式数据。 我们可以基于业务场景,结合数据时序、和 流 特性,将数据的边界进行划分,进而圈定有界数据集、无界数据集及时间窗口,进而决定计算模式,是 流式计算 还是 批计算。 主要应用场景批计算中,进行数据积累,形成静态数据集后,非实时的进行逻辑处理,一次执行完成,适应大型离线任务:离线数据分析、离线报表…等等。 流计算中,实时处理动态数据,且持续保持执行状态,适应时效性要求高的场景:实时推荐、实时监控、实时建模…等等。 我们可把其各自应用场景归结于数据价值关系。当数据的时效性价值极高的时候,即数据价值随时间增产而衰减的场合,使用流计算,像推荐;数据的价值持续保有或其价值随数据规模的提升而变高的场合,使用批计算,像画像模型等。 批、流计算相结合数据具有多面性,在实际生产中,批计算、流计算也可以相结合,共同提供服务支持。 日志处理中,设计两条链路:同步和异步。 同步链路使用流计算,提供实时服务数据监控分析、告警管理、数据快照等信息;异步链路使用批计算,提供离线画像、标签、报表、归因等服务支持; Q&A1、具体的处理框架可以详细介绍吗? 请关注后续博文 附录产品闭环之一是用户反馈调研。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |