微信号:shushuojun

介绍:数据分析师之家.旨在为数据人提供一个学习、分享、互帮互助的家园.

什么是流式计算 | 另一个世界系列

2018-01-02 17:45 数说工作室

另一个世界系列,从另一个角度看数据分析的方法、应用。


循环、分支...都可以在Python中用函数实现! | 函数式编程,打开另一个世界的大门


本文结构:


1、数据的时效性

2、流式计算与批量计算

3、总结与相关产品

    (1) 流式计算流程

    (2) 流式计算特点

    (3) 相关产品




1、数据的时效性


日常工作中,我们一般会先把数据储存在一张表中,然后对这张表的数据进行加工、分析。既然数据要储存在表中,就有时效性这个概念。


如果我们处理的是年级别的数据,比如人口分析、宏观经济分析,那么数据最新日期距今晚个一两周、甚至一两个月都没什么关系。


如果我们处理的是天级别的数据,比如各大网站的用户偏好分析、零售供销分析,一般晚个几天也是可以的,即 T+N 更新。


如果是小时级别的数据,对时效性要求就更高了,比如金融风控,涉及到资金的安全,必须有一张小时级别的数据。


那么还有没有要求更高的?当然有了,比如风险监测,网站必须有实时监测系统,一旦有攻击,就必须立刻采取措施,双十一或者周年庆的时候,各大电商平台都经历着严峻的流量考验,也必须对系统进行实时的监测。此外,网站的实时个性化推荐、搜索引擎中也对实时性有极高的要求。


在这种场景下,传统的数据处理流程——先收集数据,然后放到DB中,再取出来分析——就无法满足这么高的实时要求,在隔壁,有一种叫“流式计算”的处理方法。



2、流式计算与批量计算


刚刚说的:收集数据 - 放到DB中 - 取出来分析 的传统的流程,叫做批量计算,顾名思义,将数据存起来,批量进行计算。


而流式计算,也跟名字一样,是对数据流进行实时计算,它不是更快的批计算,可以说,是完全不同的处理思路。


通过与批量计算进行对比的方式,介绍下其原理:


(1) 与批量计算那样慢慢积累数据不同,流式计算将大量数据平摊到每个时间点上,连续地进行小批量的进行传输,数据持续流动,计算完之后就丢弃。


(2) 批量计算是维护一张表,对表进行实施各种计算逻辑。流式计算相反,是必须先定义好计算逻辑,提交到流失计算系统,这个计算作业逻辑在整个运行期间是不可更改的。


(3) 计算结果上,批量计算对全部数据进行计算后传输结果,流式计算是每次小批量计算后,结果可以立刻投递到在线系统,做到实时化展现。



3、总结与相关产品


(1) 流式计算流程

① 提交流计算作业。

② 等待流式数据触发流计算作业。

③ 计算结果持续不断对外写出。


(2) 流式计算特点

① 实时、低延迟

② 无界,数据是不断无终止的

③ 连续,计算持续进行,计算完之后数据即丢弃


(3) 相关产品

列举一下流式计算的相关产品,不具体盘点,对流式计算感兴趣可以了解一下:


  • Storm:Twitter 开发的第一代流处理系统

  • Heron:Twitter 开发的第二代流处理系统

  • Spark streaming

  • Flink

  • Apache Kafka:linkedin开发的一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。

  • Apache Samza




更多 SQL 连载、Python 连载、SAS 教程 请关注 数说工作室


【统计师的 Python 系列】连载

  • 第1天:谁来给我讲讲Python?

  • 第2天:再接着介绍一下Python呗

  • 第3天:Numpy你好

  • 第4天:欢迎光临Pandas

  • 第5天:Pandas,露两手

  • 第6天:数据合并

  • 第7天:数据清洗(1)

  • 第8天:数据清洗(2)文本处理

  • 第9天:正则表达式

  • 第10天:数据聚合

  • 第11天:class-类


【文本挖掘系列】连载

  • 1、文本相似度思想

  • 2、词频与余弦相似度算法

  • 3、TF-IDF 治啰嗦利器

  • 4、常用相似度一览

  • 5、哈希函数的套路


【分类战车SVM】系列

  • 开题话

  • 线性分类

  • 最大间隔分类器

  • 拉格朗日对偶问题

  • 核函数

  • SMO算法

  • 用Python做SVM模型


SAS系列,包括 【SAS IML系列】、【SAS 正则表达式系列】、【SAS 基础系列】

金融数据挖掘系列、量化投资系列、生物大数据系列 等等更多干货......

 
数说工作室 更多文章 数说工作室 2017年干货总结 哈希函数的套路 | 文本分析:大规模文本处理(1) 【思维导图】Python 编程:核心知识体系 文本分析 | 常用距离\/相似度 一览 小明的 SQL 问题解决日志(1)
猜您喜欢 为什么你的DevOps会失败? 腾讯TMQ在线沙龙|Android应用Dex分包之旅 听见更多:万能的深度访谈 Android开发各类常见错误解决方案【值得收藏】 为什么你需要找一个程序员做男票? —— Tairy