大数据——数据流式处理「建议收藏」

大数据——数据流式处理「建议收藏」一、概念大数据中包含两种处理方式:流处理和批处理。流处理:即流式处理。流式处理假设数据的潜在价值是数据的新鲜度,需要尽快处理得到结果。在这种方式下,数据以流的方式到达。在数据连续到达的过程中,由于流携带了大量数据,只有小部分的流数据被保存在有限的内存中。流处理方式用于在线应用,通常工作在秒或毫秒级别。 批处理:批处理方式中,数据首先被存储,然后再分析。MapReduce是非常重要的…

大家好,又见面了,我是你们的朋友全栈君。

一、概念

   大数据中包含两种处理方式:流处理和批处理。

  • 流处理:即流式处理。流式处理假设数据的潜在价值是数据的新鲜度,需要尽快处理得到结果。在这种方式下,数据以流的方式到达。在数据连续到达的过程中,由于流携带了大量数据,只有小部分的流数据被保存在有限的内存中。流处理方式用于在线应用,通常工作在秒或毫秒级别。
  • 批处理:批处理方式中,数据首先被存储,然后再分析。MapReduce是非常重要的批处理模型。MapReduce的核心思想是,数据首先被分为若干小数据块chunks,随后这些数据块被并行处理并以分布的方式产生中间结果,最后这些中间结果被合并产生最终结果。

二、主流组件

    目前主流的流处理组件包括:Strom、Spark Streaming、KafKa、Flume、Flink、S3等,接下来将对上述组件做简要介绍。

  •     Flume:一个可以收集例如日志、事件等数据资源,并将这些庞大数据从各项数据资源中集中存储的工具/服务。其设计的原理也是基于将数据流,如日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储器中。其结构图如下:

                                              大数据——数据流式处理「建议收藏」

     Flume优势

       1)Flume可以将源数据存储到任何集中存储器中,如:HDFS、HBase;

      2)数据收集速度超过写入速度时,提供平衡机制;

      3)提供上下文路由特征;

      4)Flume管道基于事务,保证数据传送和接受的一致性;

      5)Flume是可靠,高容错性的,提供定制。·

   Flume结构

                                              大数据——数据流式处理「建议收藏」

   如图所示,数据发生器产生的数据被单个运行在数据发生器所在服务器上的agent所通过事件event的方式被收集,之后数据收容器从各个agent上汇聚数据存入HDFS或HBase。

    Flume事件

    事件是Flume内部数据传输的最基本单元,由一个转载数据的字节数组(该数据组是从数据源接入点传入,并传输给传输器,也就是HDFS/HBase)和一个可选头部构成。其结构如下图所示:

                                                   大数据——数据流式处理「建议收藏」

    Flume Agent

     Flume内部有一个或者多个Agent,每一个Agent就是一共独立的守护进程(JVM),它从客户端或其他Agent接收数据,然后迅速将获取的数据传给下一个目的节点sink或者agent。其结构如下图所示,主要由source、channel、sink三部分组成。

                                                        大数据——数据流式处理「建议收藏」

     Source:

     从数据发生器接收数据,并将接收的数据以Flume的event格式传递给一个或者多个通道channal,Flume提供多种数据接收的方式,比如Avro,Thrift等;

     Channel:

     channal是一种短暂的存储容器,它将从source处接收到的event格式的数据缓存起来,直到它们被sinks消费掉,它在source和sink间起着一共桥梁的作用,channal是一个完整的事务,这一点保证了数据在收发的时候的一致性。并且它可以和任意数量的source和sink链接,支持的类型有: JDBC channel ,File System channel, Memort channel等;

     Sink:

     sink将数据存储到集中存储器比如Hbase、HDFS,它从channals消费数据(events)并将其传递给目标地,目标地可能是另一个sink,也可能HDFS,HBase。

                                         大数据——数据流式处理「建议收藏」                   

                                             

         大数据——数据流式处理「建议收藏」

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142572.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月23日 下午1:40
下一篇 2022年5月23日 下午2:00


相关推荐

  • 十天征服单片机百度云_郭天祥十天征服单片机视频下载地址

    十天征服单片机百度云_郭天祥十天征服单片机视频下载地址高级教材《十天学会单片机和C语言编程》ed2k://|file|[十天学会单片机和C语言编程].Lesson1.rar|449712628|262b8896ad6828cd33ed7189fe94cb2d|h=76MXIF34BFV3VUPLLBN3ASNOVCACHTO3|7b&Y0}8J9w,P0E:|-}’Oed2k://|file|[十天学会单片机和C语言编程]…

    2022年5月2日
    36
  • 【Protobuf】proto通用二进制文件的生成与解析(C++/Python,附完整源码)

    【Protobuf】proto通用二进制文件的生成与解析(C++/Python,附完整源码)protobuf 是 Google 开源的一个跨平台的结构化数据存储格式 可用于通讯协议 数据存储等领域的语言无关 平台无关 可扩展的序列化结构数据格式 前言说起 proto 的用法 可能最熟悉的莫过于以下两句 obj ParseFromStr data data obj SerializeToS 其中 obj 是 proto 中 message 的实例对象 data 是序列化之后的

    2026年3月18日
    2
  • 《转》OpenStack Live Migration[通俗易懂]

    《转》OpenStack Live Migration

    2022年1月23日
    45
  • 怎样学习工业PLC

    怎样学习工业PLC可编程控制器是集计算机技术、通讯技术、自动控制技术为一体的工业控制装置。对于初学者来说掌握了plc基本原理,熟悉常用的编程方法,在进行简单系统编程时尚可以运用自如,但对较为复杂的控制系统设计往往力不从心,要想在PLC应用方面得心应手,学习者除了要建立正确的学习方法,深入学习plc编程技巧,最重要的是相关知识的学习。下面从六个方面谈谈我的教学心得。一、多收集程序范例、增加编程经验在PLC的编程方…

    2022年10月18日
    5
  • 缩容是什么意思_梯度压缩

    缩容是什么意思_梯度压缩TiKV在线缩容

    2026年3月3日
    8
  • pgsql数据库恢复_oracle多字段去重

    pgsql数据库恢复_oracle多字段去重概述今天主要介绍一下Oracle、MySQL、sqlserver、pg数据库在删除重复数据时是怎么实现的。这里用实例来说明。一、Oracle数据库去重1、环境准备可以看到“ALLEN”和“SMITH”这两个人的数据重复了,现在要求表中name重复的数据只保留一行,其他的删除。CREATETABLEhwb(idint,namevarchar(10));INSERTINTOhwbVALUES(1,’TOM’);INSERTINTOhwbVALUES(2

    2022年10月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号