大数据技术与原理之流计算基本知识点梳理(一)

1:流数据:

流数据(数据流):在时间分布和数量上无限的一系列动态数据的集合体。:

2:流数据的特点:

    1:数据快速到达,潜在大小也许是无穷无尽的。

    2:数据来源众多,格式复杂。

    3:  数据量大,但是不十分关注存储,一旦流数据中元素经过处理,要么被丢弃,要么被归档存储。

    4:注重数据的整体价值,不过分关注个别数据。

    5:数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序。

3:在流计算的概念中,数据的价值与时间具备怎样的关系

  数据的价值随着时间的流逝而降低

4:论述流计算的需求:

1:高性能。处理大数据的基本要求。(每秒处理几十万条数据)

2:海量式:支持TP级甚至PB级的数据规模

3:实时性:必须保证一个较低的延迟时间,达到秒级别,甚至毫秒级

4:分布式:支持大数据的基本架构,必须能够平滑扩展

5:易用性:能够快速进行开发和部署

6:可靠性:能够可靠的处理流数据

5:MapReduce框架为什么不适用处理流数据

    MapReduce适用于对海量数据执行批量计算,而流数据不适用于批量计算。在时间延迟方面无法满足流计算的实时响应需求。

6:将基于MapReduce的批量处理转化为小批量处理,每隔一个周期就启动一次MapReduce作业,通过这样的方式来处理数据是否可行?为什么?

不可行

1:切分成小的片段,虽然可以降低延迟,但是增加了任务处理的附加开销,而且还要处理片段之间的附加关系。(因为一个片段可能需要用到前一个片段的计算结果)

2:需要对MapReduce进行改造,以支持流逝处理。Reduce阶段的结果不能直接输出,而是保存在内存中。如果对MapReduce进行改造,将会增加MapReduce框架的复杂度,不利于框架的维护和扩展。

3:降低了用户程序的可伸缩性,因为用户必须使用MapReduce接口来定义流式作业。

7:列举几个常见的流计算框架

 (一)商业级的流计算平台

    1:IBM InfoSphere Streams

    2:IBM StreamBase

   (二)开源流计算框架

    1:Twitter Storm

    2:Yahoo!4

   (三)公司为支持自身业务而开发的流计算框架

   1:Facebook Puma

   2:Dstream(百度)

   3:银河数据处理平台(淘宝)

  4:Super Mario

TO DO 


猜你喜欢

转载自blog.csdn.net/weixin_40155674/article/details/80725937
今日推荐