流数据处理

作者: oneape15 | 来源:发表于2019-01-07 23:19 被阅读0次

流数据处理的应用

在我们日常生产环境中有这一样的一类数据密集型应用,数据快速到达,转瞬即逝,需要及时进行处理。如:网络监控、电信数据管理、传感器网络、量化交易等。

流式处理和批处理的区别

流式处理(Stream Processing)是针对批处理(Batch Processing)来讲的,即它们是两种截然不同的数据处理模式,具有不同的应用场合,不同的特点。

  • 对于批处理来讲,数据被不断地采集保存到数据库中,然后进行分析处理。
  • 批处理适用于大数据进行处理的场合。需要等到整个分析处理任务完成,才能获得最终结果。整个过程耗时比较长,获得最终分析处理结果延迟较大。如传统的关系型数据库系统、Hadoop和Spark等大数据处理平台等。
  • 在流式数据处理模式里,数据持续到达,系统及时处理新到达的数据,并不断产生输出。
  • 流式数据处理模式强调数据处理的速度,部分原因在于数据产生的速度很快,需要及时处理掉。
  • 流式处理系统能对新到达的数据进行及时的处理,所以它能够给决策者提供最新的事物发展变化的趋势,以便对突发事件进行及时的响应,调整应对措施。
数据处理模式

流数据模型

为了对快速持续到达的数据流进行有效的处理,支持上层应用程序的要求,需要新的数据模型和查询处理方法。
流数据模型的特点:

  • 数据流的数据元素持续到达。
  • 数据流处理系统不能控制数据元素到达的顺序。
  • 数据流有可能是无限的,或者说数据流的大小是无限大。
  • 数据流的一个数据元素被处理后,可以丢弃或者归档,一般不容易再次提取,除非目前该数据元素还在内存中。

流数据处理系统的查询处理

  • 内存需要 - 大部分数据流是无法预知最终大小的;在这种情况下,如果要在数据流上计算一个准确的结果(如累计数),需要的存储空间将无法预知,有可能超过可用的内存。为了达到高速的处理数据,流数据处理一般优先采用基于内存的数据处理算法,无须存取磁盘。
  • 近似查询结果 - 在内存容量有限的情况下,获得一个准确的结果是不太可能的。好在很多的应用场合我们无须一个准确的答案。在流数据处理领域,我们为数据流上的查询研究了一系列的数据缩减或者摘要构建技术,如:数据轮廓随机采样真方图小波变换等。

相关文章

  • 流数据处理

    流数据处理的应用 在我们日常生产环境中有这一样的一类数据密集型应用,数据快速到达,转瞬即逝,需要及时进行处理。如:...

  • spark实时处理hdfs流数据

    项目说明 Spark构建一个实时数据处理及展示系统流数据数据处理:scala调用spark-SQL:python如...

  • 输入输出--Java IO流

    1. IO流分类 节点流:又叫低级流 处理流:高级流 字节流和字符流的区别在于数据处理单位的不同。 字节流:一次读...

  • Spark学习(1)-架构原理

    Spark是什么 Spark是基于HDFS等分布式存储之上的数据处理分析框架,它擅长批量数据处理,处理流工作负载,...

  • 第五章 使用流

    1、Streams API可以表达复杂的数据处理查询。常用的流操作总结如下: 2、流的筛选(filter、dist...

  • Java 8 与并发(二)

    一、并行流与并行排序 Java 8中可以在接口不变的情况下,将流改为并行流,方便在多线程中进行集合中的数据处理。 ...

  • Structured Streaming

    流数据处理最基本的问题就是如何对不断更新的无边界数据建模。 之前讲的 Spark Streaming 就是把流数据...

  • 流计算(三):状态管理

    两种状态 流在执行过程中涉及到的状态分为两类:流数据状态和流信息状态。 流数据状态:在流数据处理的过程中,可能需要...

  • IO流

    IO流的使用 今天咱们来说一下JAVA中最常用的数据处理的流 IO 流,说到IO啊,玩DOTA的小伙伴们就有声音...

  • Stream API(一)流

    流是“从支持数据处理操作的源生成的一系列元素”。流中的元素是按需计算的。 一、流与集合 代码例子: 集合的处理方式...

网友评论

    本文标题:流数据处理

    本文链接:https://www.haomeiwen.com/subject/sxijrqtx.html