大数据技术架构_第1页
大数据技术架构_第2页
大数据技术架构_第3页
大数据技术架构_第4页
大数据技术架构_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据技术CONTENTS01大数据技术架构概述02大数据技术架构设计03Hadoop生态架构目录04Saprk生态架构05Flink生态架构5.1大数据技术架构概述大数据技术参考模型Part

011大数据技术参考模型定义大数据技术是一系列技术的总称,它集合了数据采集与传输、数据存储、数据处理与分析、数据挖掘、数据可视化等技术,是一个庞大而复杂的技术体系。大数据技术架构是用于摄取和处理大数据的总体系统架构。根据业务需求,可以将大数据技术架构视为大数据解决方案的蓝图。1大数据技术参考模型大数据参考模型大数据技术处理平台Part

022大数据技术处理平台定义大数据技术处理平台是利用大数据技术,完成从数据采集与传输、数据存储、数据处理与分析、数据挖掘到数据可视化等的数据处理平台。2大数据技术处理平台大数据技术处理平台5.2大数据技术架构设计Lambda架构Part

011Lambda架构定义Lambda架构设计是为了在处理大规模数据时发挥流处理和批处理的优势。通过批处理提供全面、准确的数据,通过流处理提供低延迟的数据,从而达到平衡延迟、吞吐量和容错性的目的。1Lambda架构Lambda架构1

Lambda

架构Lambda架构优缺点优点稳定,对于实时计算部分的计算成本可控,批量处理可以在服务器空闲时实现整体批量计算,把实时计算和离线计算高峰分开。缺点实时计算与批量计算结果不一致引起的数据口径问题。批量计算在计算窗口内无法完成。数据源变化需要重新开发,开发周期长。服务器存储空间要求高。Kappa架构Part

022Kappa架构定义Kappa架构是通过改进流计算系统来解决数据全量处理的问题,使得实时计算和批处理过程使用同一套代码。2Kappa架构Kappa架构2Kappa架构Kappa架构优缺点优点用Kafka或类似MQ的队列系统收集各种各样的数据,可以灵活保存数据。缺点流式处理对于历史数据的高吞吐量力不从心。开发周期长。服务器成本浪费。当需要全量重新计算实例时,重启实例,从头开始读取数据进行处理,并输出到一个新的结果存储列表中。当新的实例做完后,停止旧的流计算实例并删除结果。IOTA架构Part

033IOTA架构定义IOTA架构是基于IOT和AI的大数据架构模式。是设定标准数据模型,通过边缘计算技术把所有的计算过程分散在数据产生、计算和查询过程当中,以统一的数据模型贯穿始终,从而提高整体的计算效率,同时为了满足计算的需求,可以使用各种即席查询来查询底层数据。3IOTA架构IOTA架构2IOTA架构IOTA架构特点去ETL化。ETL及相关开发一直是大数据处理的痛点,IOTA架构通过CDM的设计,专注某一具体领域的数据计算,从SDK端开始计算,中央端只做采集、建立索引和查询,提高整体数据分析的效率。即席查询。根据整体计算流程,在手机端、智能IoT事件发生时,直接将数据传送到云端进入实时数据缓存区,被前端查询引擎查询。此时用户可以使用各种各样的查询方式来直接查到前几秒发生的事件,而不用等待ETL或者Streaming的数据研发和处理。边缘计算。将计算分散到数据产生、存储和查询端,数据产生既符合CDM的要求,同时也传输给实时模型反馈,让客户端传送数据的同时马上进行反馈,而不需要所有事件都要到中央端处理之后再进行下发。5.3Hadoop生态架构Hadoop基本概念Part

011Hadoop基本概念定义Hadoop是一个由Apache基金会开发的大数据分布式系统基础架构,实现高速运算和存储。Hadoop是可扩展的,它可以方便地从单一服务器扩展到数千台服务器,每台服务器进行本地计算和存储。低成本、高可靠、高扩展、高有效、高容错等特性使Hadoop成为最流行的大数据分析系统之一。Hadoop生态系统Part

022Hadoop生态系统Hadoop

生态系统Hadoop生态架构特点Part

033Hadoop生态架构特点Hadoop生态架构特点优点具有扩容能力。能够可靠地存储和处理PB级的数据。Hadoop生态系统基本采用HDFS作为存储组件,吞吐量高、稳定可靠。缺点Hadoop采用文件存储系统,所以读写时效性较差。Hadoop生态系统日趋复杂,组件之间的兼容性差,安装和维护比较困难。Hadoop的各个组件功能相对单一。整体生态基于Java开发,容错性较差。高效率。通过分发数据,Hadoop可以在数据所在节点上进行并行处理,处理速度非常快。成本低。可以利用廉价、通用的计算机组成的服务器群来分发、处理数据。这些服务器群节点总计可达数千个。可靠性。Hadoop能自动维护数据的多份备份,并且在任务失败后能自动重新部署计算任务。5.4Spark

生态架构1Spark基本概念2Spark生态系统3Spark主要特点4Spark基本流程5Spark使用场景6Spark与Hadoop区别Spark基本概念Part

011Spark基本概念定义Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。Spark生态系统Part

022Spark生态系统Spark

生态系统Spark主要特点Part

033Spark主要特点Spark主要特点运行速度快。Spark使用先进的DAG执行引擎,以支持循环数据流与内存计算,基于内存的执行速度可比HadoopMapReduce快上百倍,基于磁盘的执行速度也能快10倍左右。容易使用。Spark支持使用Scala、Java、Python和R语言进行编程,简洁的API设计有助于用户轻松构建并行程序,并且可以通过SparkShell进行交互式编程。通用性。Spark提供完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件等,这些组件可以无缝整合在同一个应用中,足以应对复杂的计算。运行模式多样。Spark可运行于独立的集群模式中,或者运行于Hadoop中,也可运行于AmazonEC2等环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源。Spark基本流程Part

044Spark基本流程Spark基本流程Spark使用场景Part

055Spark适用场景适用场景需要快速处理大数据的场景。适用于需要多次操作特定数据集的场景。数据量不大,但要求实时统计分析需求的场景。基于大数据的SQL查询、流式计算、图计算、机器学习的场景。支持Java、Scala、Python、R语言的场景。Spark与Hadoop区别Part

066Spark与Hadoop区别HadoopSparkVS基于磁盘常用于解决高吞吐、批量处理、离线计算结果的业务场景多个作业在磁盘中读取数据采用创建新的进程的方式启动任务Hadoop中多个MapReduce作业之间的数据交互都要依赖磁盘

基于内存常用于迭代计算、多并行、多数据复用的场景(如机器学习、数据挖掘等)。多个作业之间的数据通信在内存中以接近“实时”的时间完成采用Fork线程的方式,任务启动时间短Spark只有在Shuffle的时候将数据写入磁盘缓存机制一般缓存机制高效HadoopSpark5.5Flink

生态架构1Flink基本概念2Flink架构体系4Flink作业执行过程3Flink基础编程模型6Flink和SparkStreaming的区别5Flink应用场景Flink基本概念Part

011Flink基本概念定义Flink是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够被部署在各种集群环境,对各种规模大小的数据进行快速计算。2Flink设计架构Flink架构设计Flink架构体系Part

022Flink架构体系架构体系2Flink架构体系可运行任意规模应用可处理无界和有界数据流利用内存性能可在所有常见的集群环境中运行Flink一切都是由流组成的,离线数据是有界限的流,实时数据是没有界限的流。Flink是一个分布式系统,它需要计算资源来执行应用程序。Flink集成了所有常见的集群资源管理器,如HadoopYARN、ApacheMesos和K8S,也可作为独立集群运行(Standalone)。Flink应用程序分布在集群中并发执行,其异步和增量的检查点算法能够及时处理延迟,ExactlyOnce保证了数据的正确性,使得Flink可以提供金融级的数据处理能力。Flink任务的状态始终保留在内存中,如果状态大小超过可用内存,则会保存在能高效访问的磁盘数据结构中。任务通过访问本地(通常在内存中)状态来进行计算。定期和异步对本地状态进行持久化存储来保证在故障场景下精确一次语义的状态一致性。Flink架构特性2Flink架构体系Flink是一个能够处理任何类型数据流的强大的处理框架。Flink的应用能够同时支持处理实时数据流以及历史记录数据流。数据流多种状态基础类型插件化的StateBackend精确一次语义超大数据量状态可弹性伸缩的应用状态事件时间模式Watermark支持迟到数据处理处理时间模式时间流处理应用的基本组件2Flink架构体系FlinkAPI2Flink架构体系CEP库数据集APIGellyFlink扩展库Flink基础编程模型Part

033Flink基础编程模型Flink

编程模型Flink作业执行过程Part

044Flink作业执行过程作业执行过程Flink应用场景Part

055Flink应用场景事件驱动型应用数据分析应用数据管道应用Flink和SparkStreaming的区别Part

066Flink和SparkStreaming的区别SparkStreaming在运行时的主要角色包括主节点、工作节点、驱动器、执行器,Flink在运行时的角色主要包含:Jobmanager、Task管理器和Slot。SparkStreaming支持的时间机制有限,只支持处理时间。Flink支持流处理程序在时间上的3个定义:处理时间、事件时间、注入时间。同时也支持Watermark机制来处理迟到数据。SparkStreaming任务可以设置Checkpoint,当发生故障并重启时,可以从上次Checkpoint之处恢复,这个行为只能使得数据不丢失,可能会重复处理,不能做到恰好一次处理语义。Flink则使用两阶段提交协议来解决这个问题SparkStreaming连续不断地生成微小的数据批次,构建DAG,创建DStreamGraph、JobGenerator、JobSc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论