精华内容
下载资源
问答
  • 计算-实时流计算

    2019-06-19 16:24:00
    实时流计算的场景:业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断地流经多个计算节点处理,形成一个实时流计算...

    实时流计算的场景:业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断地流经多个计算节点处理,形成一个实时流计算系统。

    市场上流计算产品有很多,主要是通过消息中枢结合工人模式实现的,大致过程如下:

    1)开发者实现好流程输入输出节点逻辑,上传job到任务生产者。

    2)任务生产者将任务发送到ZooKeeper,然后监控任务状态。

    3)任务消费者从ZooKeeper上获取任务。

    4)任务消费者启动多个工人进程,每个进程又启动多个线程执行任务。

    5)工人之间通过zeroMQ交互。

    我们也可以做一个简单的流计算系统,做法跟上面有些不同:

    1)首先不过多依赖ZooKeerper,任务的分配最好直接给到工人,并能直接监控工人完成状态,这样效率会更高。

    2)工人之间直接通信,不依赖zeroMQ转发。

    3)并行管理扁平化,多进程下再分多线程意义不大,增加管理成本,实际上一台机器8个进程,每个进程再开8个线程,总体跟8~10个进程或者线程的效果差不多(数量视机器性能不同)。

    4)做成一个流计算系统,而不是平台。

    设计思路" style="background-image: none !important; box-shadow: none !important; border-color: rgb(166, 166, 166) !important;">:用工头去做任务生产和分配,用工人去做任务执行,为了达到流的效果,需要在工人里面调用工头的方式,将多个工人节点串起来,形成一个计算拓扑图。

    下面程序演示了连续多个消息先发到一个工人节点A处理,然后再发到两个工人节点B并行处理的流计算过程,并且获取到最后处理结果打印输出(如果不需要获取结果可以直接返回)。

    ❏ StreamCtorA:工头A实现,它获取到线上工人A,然后将消息发给它处理,并轮循等待结果。工头A的main函数模拟了多个消息的连续调用。

    ❏ StreamWorkerA:工人A实现,它接收到工头A的消息进行处理,然后创建一个工头B,通过工头B将结果同时发给两个工人B处理,然后将结果返回工头A。

    ❏ StreamCtorB:工头B实现,它获取到线上两个工人B,调用doTaskBatch等待两个工人处理完成,然后返回结果给工人A。

    ❏ StreamWorkerB:工人B实现,它接收到任务消息后模拟处理后返回结果。

    运行步骤(在本地模拟)如下:

    1)启动ParkServerDemo(它的IP端口已经在配置文件指定)。

    java -cp fourinone.jar; ParkServerDemo

    2)启动工人A。

    java  -cp fourinone.jar; StreamWorkerA localhost 2008

    3)启动两个工人B。

    java  -cp fourinone.jar; StreamWorkerB localhost 2009
    java  -cp fourinone.jar; StreamWorkerB localhost 2010

    4)启动工头A。

    java  -cp fourinone.jar; StreamCtorA

    多机部署说明" style="background-image: none !important; box-shadow: none !important; border-color: rgb(166, 166, 166) !important;">:StreamCtorA可以单独部署一台机器,StreamWorkerA和StreamCtorB部署一台机器,两个StreamWorkerB可以部署两台机器。

    总结" style="background-image: none !important; box-shadow: none !important; border-color: rgb(166, 166, 166) !important;">:如何选择计算平台和计算系统。

    如果我们只有几台机器,但是每天有人开发不同的流处理应用要在这几台机器上运行,我们需要一个计算平台来管理好job,让开发者按照规范配置好流程和运行时节点申请,打包成job上传,然后平台根据每个job配置动态分配资源依次执行每个job内容。

    如果我们的几台机器只为一个流处理业务服务,比如实时营销,我们需要一个流计算系统,按照业务流程部署好计算节点即可,不需要运行多个job和动态分配资源。按照计算平台的方式做只会增加复杂性,开发者也不清楚每台机器上到底运行了什么逻辑。

    如果你想实现一个计算平台,可以参考动态部署和进程管理功能。

    转载于:https://www.cnblogs.com/muzinan110/p/11052094.html

    展开全文
  • 大数据实时流计算统计,涵盖行业真是案例,使用habse ,spark.
  • 主要介绍了用Spark进行实时流计算的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 本文将按照如下四个阶段分享微博实时流计算平台的搭建历程,以及在创建过程中的一些问题和解决方案:实时流计算平台初建实时流计算平台发展总结DQRA设计模式初入实时流计算首先介绍一下我们实时流计算平台开发历程:...
  • 阿里集团计算事业部-产品专家 巴真在2017杭州云栖大会中做了题为《实时流计算产品与技术发展展望》的分享,就实时化的价值: 电商营销活动提升成交金额,流处理系统,流计算应用做了深入的分析。
  • 云环境下的实时流计算平台研究 李钊
  • 这次分享主要包含四个议题,会首先阐述一下腾讯在实时计算中使用Flink的历程,然后会简单介绍一下腾讯围绕Flink的产品化实践:我们打造了一个Oceanus平台,同时腾讯云也早已提供基于Flink的实时流计算服务,接着我们...
  • 实时流计算平台Blink在阿里集团的应用实践,希望对大家有帮助
  • Strom-实时流计算框架

    2018-08-10 09:49:59
    所谓实时流计算,就是近几年由于数据得到广泛应用之后,在数据持久性建模不满足现状的情况下,急需数据流的瞬时建模或者计算处理。这种实时计算的应用实例有金融服务、网络监控、电信...

            所谓实时流计算,就是近几年由于数据得到广泛应用之后,在数据持久性建模不满足现状的情况下,急需数据流的瞬时建模或者计算处理。这种实时计算的应用实例有金融服务、网络监控、电信数据管理、 Web 应用、生产制造、传感检测,等等。在这种数据流模型中,单独的数据单元可能是相关的元组(Tuple),如网络测量、呼叫记录、网页访问等产生的数据。但是,这些数据以大量、快速、时变(可能是不可预知)的数据流持续到达,由此产生了一些基础性的新的研究问题——实时计算。实时计算的一个重要方向就是实时流计算。

    基本原理:

            Spark Streaming:构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片断(几秒),以类似batch批量处理的方式来处理这小部分数据。Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+),虽然比不上专门的流式数据处理软件,也可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),一部分窄依赖的RDD数据集可以从源数据重新计算达到容错处理目的。此外小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合。

    实时计算处理流程  

    互联网上海量数据(一般为日志流)的实时计算过程可以划分为 3 个阶段:

    数据的产生与收集阶段、传输与分析处理阶段、存储对对外提供服务阶段。

    展开全文
  • 今天的大数据学习分享,我们就主要来讲讲Spark 实时流计算。 Spark流计算简介 Spark的Spark Streaming是早期的流计算框代表,同时还有Storm,也是针对于流计算,但是随着技术发展的趋势,Storm被逐渐抛弃。近几年...

    在Spark框架当中,提起流计算,那么主要就是Spark Streaming组件来负责。在大数据的发展历程当中,流计算正在成为越来越受到重视的趋势,而Spark Streaming流计算也在基于实际需求不断调整。今天的大数据学习分享,我们就主要来讲讲Spark 实时流计算。

    Spark流计算简介

    Spark的Spark Streaming是早期的流计算框代表,同时还有Storm,也是针对于流计算,但是随着技术发展的趋势,Storm被逐渐抛弃。近几年,又有了Flink成为了流计算领域新的热门。

    而Spark Streaming依靠着Spark生态,在流计算领域还有着不错的市场占有率。Spark Streaming也在发展当中,对自身的不足也进行改善。

    从Spark 2.3开始,Structured Streaming引入了低延迟的持续流处理模式,不再采用批处理引擎,而是一种类似Flink机制的持续处理引擎,可以达到端到端最低1ms的延迟。

    Spark Streaming

    Spark Streaming,本质上来说,是一个基于批的流式计算框架,支持Kafka、Flume及简单的TCP套接字等多种数据输入源,输入流接收器(Reciever)负责接入数据。

    Spark Streaming在处理数据流之前,会按照时间间隔对数据流进行分段切分。Spark针对连续数据流的抽象,我们称为DStream(Discretized Stream)。DStream也可以被组织为DStreamGraph。Dstream本质上由一系列连续的RDD组成。

    DStream是小批处理的RDD(弹性分布式数据集),RDD则是分布式数据集,可以通过任意函数和滑动数据窗口(窗口计算)进行转换,实现并行操作。

    Structured Streaming

    Spark 2.0之后,开始引入了Structured Streaming,将微批次处理从高级API中解耦出去。它简化了API的使用,API不再负责进行微批次处理;开发者可以将流看成是一个没有边界的表,并基于这些“表”运行查询。

    Structured Streaming的默认引擎基于微批处理引擎,并且可以达到最低100ms的延迟和数据处理的exactly-once保证。采用何种处理模式只需要进行简单的模式配置即可。

    Structured Streaming定义了无界表的概念,即每个流的数据源从逻辑上来说看做一个不断增长的动态表(无界表),从数据源不断流入的每个数据项可以看作为新的一行数据追加到动态表中。用户可以通过静态结构化数据的批处理查询方式(SQL查询),对数据进行实时查询。

    Spark Streaming VS Structured Streaming

    总结来说,这两种模式,从底层原理上就是完全不同的。

    Spark Streaming采用微批的处理方法。每一个批处理间隔的为一个批,也就是一个RDD,我们对RDD进行操作就可以源源不断的接收、处理数据。

    Structured Streaming将实时数据当做被连续追加的表,流上的每一条数据都类似于将一行新数据添加到表中。

    在Spark 3.0之后,全新的Structured Streaming UI诞生,可见Spark生态在流处理上还有不断进步的目标和空间。

    关于大数据学习,Spark生态实时流计算,以上就为大家做了简单的介绍了。流计算正在成为大数据技术越来越普及的趋势,而基于Spark生态的流计算一直提供着重要的技术支持。

    展开全文
  • 实时流计算学习大纲

    2016-09-18 10:17:00
    最近做了一些实时流计算的工作,但是感觉了解的太浅,于是打算列一个大纲,将相应的知识逐个梳理一遍。 1. 学习内容及进度 消息管道:kafka---------【已完成】 实时计算:storm---------【未开始】 多维...

    最近做了一些实时流计算的工作,但是感觉了解的太浅,于是打算列一个大纲,将相应的知识逐个梳理一遍。

    1. 学习内容及进度

    1. 消息管道:kafka---------【已完成】
    2. 实时计算:storm---------【未开始】
    3. 多维分析:druid----------【已开始】
    4. 协调服务:zookeeper--【未开始】

    2. 产出

    对于上述各部分组件,学习、知识梳理的成果将以博客的形式展现。

    转载于:https://my.oschina.net/dokia/blog/747835

    展开全文
  • 什么是实时流计算?  1、实时流计算背景   2、实时计算应用场景  3、实时计算处理流程  4、实时计算框架 什么是实时流计算? 所谓实时流计算,就是近几年由于数据得到广泛应用之后,在数据...
  • 实时流计算Spark Streaming原理介绍     1、Spark Streaming简介 1.1 概述 Spark Streaming 是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源...
  • 新书速递无处不在的流计算到底是什么?当数据处理做不到实时,应该怎么办?如何避免异步系统中的OOM问题?流计算系统中的核心问题是什么?今天小编为大家推荐《实时流计算系统设计与实现》这本书高...
  • 实时流计算的场景归纳起来多半是: 业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断的流经多个计算节点处理,...
  • 标签 :Java Scala Hadoop Spark Redis Kafka 作者 : Maxchen ...实时流任务配置第二部分:kafka连接配置第三部分:redis连接配置第四部分:spark连接配置第五部分:实时流计算程序入口程序部署...
  • 高度抽象出实时流计算系统的技术支撑、架构模式、编程模式、系统实现与协同系统,并从零编写一个分布式实时流计算系统! 本文总结了实时流计算系统的通用架构模式。 通过从无到有构建一个流计算编程框架,让...
  • Storm作为一个开源的分布式实时流计算框架,其内部实现使用了一些常用的技术,这里是对这些技术及其在Storm中作用的概括介绍。以此为基础,后续再深入了解Storm的内部实现细节。 1. Zookeeper集群 Zookeeper是一个...
  • 华为云的实时流计算服务(Cloud Stream Service,简称CS)是以Flink和Spark为核心的serverless流计算服务,早在2012年华为就开始了自研的StreamSmart产品,广泛在海外交付。由于生态闭源,团队放弃了StreamSmart,转...
  • 大家好,我是来自腾讯大数据团队的杨华(vinoyang),很高兴能够参加这次北京的 QCon,有机会跟大家分享一下腾讯实时流计算平台的演进与这个过程中我们的一些实践经验。 这次分享主要包含四个议题,我会首先阐述...
  • 今日一问:你学实时流计算了吗?这几年,随着越来越多的业务对数据的实时性提出了高要求,实时流计算技术变得越来越火。字节、京东、美团这些大厂就用它来处理用户兴趣分析、实时异常检测、在线反欺诈...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,991
精华内容 1,996
关键字:

实时流计算