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

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

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

                                             

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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JavaWeb——Servlet(全网最详细教程包括Servlet源码分析)「建议收藏」

    JavaWeb——Servlet(全网最详细教程包括Servlet源码分析)「建议收藏」JavaWeb——ServletTomcat工作机制动画演示(点击动图可全屏观看)什么是ServletServlet(ServerApplet),全称JavaServlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web…

  • oracle如何修改用户密码_oracle重置用户名密码

    oracle如何修改用户密码_oracle重置用户名密码轻松搞定Oracle用户密码修改 摘要:服务器更换、数据库移植都会涉及到Oracle用户密码的修改操作,这里给出几段简单的代码,帮您轻松搞定Oracle用户密码的修改操作。 我们假设这样一个应用场景,数据库需要移植,库中某一个用户的Oracle用户密码不知道,可是这个密码因为在其他程序中使用了而不能修改,在新的数据库系统中,这

  • java jbpm工作流_jbpm工作流

    java jbpm工作流_jbpm工作流一、JBPM(javabusinessprocessmanager)1、工作流管理流程O—>定义工作流(使用流程设计器生成,png和xml文件,分别面向用户和系统)—>执行工作流(核心对象:流程引擎ProcessEngine)—>连接数据库(jbpm18张表,jbpm4_deploymen,jbpm4_deployprop,jbpm4_execution,jbp…

  • 单片机串口发送数据_单片机烧录找不到串口

    单片机串口发送数据_单片机烧录找不到串口今天用stm32串口转232和工控机通信时,通过笔记本的串口助手与单片机和工控机通信时都很正常,收发都没有问题;但是一用单片机和工控机直接通信就出现通信故障,经过排查发现单片机老是接收到错误数据0X80;当时的波特率是115200,后来查找资料说这是MAX3232ESE-T芯片的极限通信速率了,果断把波特率降低为19200或者其他低于115200的波特率,错误数据就不在出现了;这个问题的很难发…

  • map的遍历方式「建议收藏」

    map的遍历方式「建议收藏」@org.junit.TestpublicvoidtestHashMap(){Map<String,String>map=newHashMap<>(4);

  • IDea2022.01.12激活码[最新免费获取]2022.02.06[通俗易懂]

    (IDea2022.01.12激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4KDDGND3CI-eyJsaWNlb…

发表回复

您的电子邮箱地址不会被公开。

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