当前位置: 首页 > news >正文

泉州做网站的公司wordpress前端开发

泉州做网站的公司,wordpress前端开发,电商平台开发公司,中国建设平台官网Spark最初是由美国伯克利大学AMP实验室在2009年开发#xff0c;Spark时基于内存计算的大数据并行计算框架#xff0c;可以用于构建大型的、低延迟的数据分析应用程序。 Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一。 Spark的特点 运行速度快 Spark时基于内存计算的大数据并行计算框架可以用于构建大型的、低延迟的数据分析应用程序。 Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一。 Spark的特点 运行速度快 Spark使用现金的DAGDirected Acyclic Graph有向无环图执行引擎以支持循环数据流与内存计算基于内存的执行速度可比Hadoop MapReduce快百倍基于磁盘的执行速度也能快十倍 容易使用Spark支持使用Java、Python以及scala等编程语言简洁的API有助于用户轻松构建并行程序 通用性Spark提供了完整而强大的技术栈包括SQL查询、流式计算、机器学习以及GraphX图计算组件这些组件可以无缝整合在同一个应用中足以应对复杂的计算 运行模式多样Spark可以独立运行集群模式中或者运行在Hadoop中也可以运行在EC2等云环境中可以访问HDFS、Hbase、Hive等多种数据源。 Spak相对于Hadoop的优势 Hadoop虽然被广泛运用于大数据建设中但是本身存在着很大的缺陷最主要的缺陷是其MapReduce计算模型延迟过高无法胜任实时、快速计算的需求因而只适用于离线批处理的场景。 Hadoop的缺点  表达能力有限计算都必须转换成Map和Reduce两个操作但这并不适合所有的情况难以描述复杂的数据处理过程磁盘IO开销大每次执行时都需要从磁盘读取数据并且在计算完成过后要将中间结果写入到磁盘中IO开销较大延迟高一次计算可能需要分解成一系列按照顺序执行的MapReduce任务任务之间衔接由于干涉到IO开销会产生较高的延迟。而且在前一个任务执行完成之前其他任务无法开始难以胜任复杂、多阶段的计算任务。 Spark优点 编程模式灵活Spark计算模式 也属于MapReduce但不局限于MapReduce操作还提供了多种数据集操作类型编程模型也比MapReduce更加灵活 Spark内存计算Spark提供了内存计算中间结果直接放到内存中带来了更高的迭代运算效率 Spark基于DAG的任务调度执行制度要优于MapReduce的迭代执行机制。 Spark最大的特点就是将计算数据、中间结果都存储在内存中大大较少了IO开销 Spark提供了多种高层次的、简洁的API通常情况下对于实现相同功能的应用程序Spark的代码量要比Hadoop少2-5倍 但Spark并不能完全替代Hadoop主要用于替代MapReduce计算模型。实际上Spark已经很好的融入Hadoop生态圈并且称为其中重要的一员它可以借助YARN实现资源调度管理借助HDFS实现分布式存储。  Spark生态 Spark CoreSpark Core包含Spark的基本功能如内存计算、任务调度、部署模式、故障恢复、存储管理等。Spark建立在统一的抽象RDD上使其可以以基本一致的方式应对不同的大数据处理场景通常所说的Apache Spark就是指Spark Core。Spark SQLSpark SQL允许开发人员直接处理RDD同时也可查询Hive、Hbase等外部数据源。SparkSQL的一个重要特点是其能够统一处理关系表和RDD使得开发人员可以轻松的使用SQL命令进行查询并进行更复杂的数据分析Spark StreamingSpark Streaming支持高吞吐量、可容错处理的实时数据流处理其核心思路是将流式计算分解成一系列短小的批处理作业。Saprk Streaming支持多种数据输入源如Kafka、Flume等MLLib机器学习MLLib提供了常用机器学习算法的实现包括聚类、分类、回归协同过滤等降低了机器学习的学习门槛开发人员只要具备一定的理论知识就可以进行机器学习的工作GraphX图计算GraphX是Spark中用于图计算的API可以认为是Pregel在Spark上重写以及优化GraphX性能良好拥有丰富的功能和运算符能在海量数据上自如的运算复杂的图算法。  Spark的基础概念  RDD弹性分布式数据集Resilient Distributed Dataset的简称是分布式内存的一个抽象概念提供了一种高度受限的共享内存模型RDD是一个可以容错且并行的数据结构可以理解成分布式的集合操作起来和操作本地集合一样简单它可以将数据集保存在内存中并且通过控制数据集的分区来达到数据存放处理最优化。代表一个不可变、可分区、里面的元素可并行计算的集合。 a list of partitions一组分片列表即数据集的基本组成单位。对于RDD来说每个分片都会被一个计算任务处理分片数决定并行度。A function for computing each split一个函数会被作用到每一个分区。Spark中RDD的计算是分片为单位的compute函数会被作用到每个分区上A list of dependencies on other RDDS一个RDD会依赖于其他多个RDD。RDD的每次转换都会生成一个新的RDD所以RDD之间就会形成类似流水线一样的前后依赖关系。在部分分区数据丢失时Spark可以通过这个依赖关系重新计算丢失的数据而不是对RDD的所有分区进行重新计算。Spark的容错机制Optionally,a Partitioner for key-value RDDS可选项对于KV类型的RDD会有一个Partitioner即RDD的分区函数默认为HashPartitioner。Optionallya list of preferred locations to compute each split on (e.g.block locations for an HDFS file)可选项一个列表存储每个Partition的优先位置preferred location。对于一个HDFS文件来说这个列表保存的就是每个Partition 所在快的位置。按照“移动数据不如移动计算”的理念Spark在进行任务调度的时候会尽可能选择那些存有数据的worker节点来进行任务计算。总结分区列表、分区函数、最佳位置这三个属性其实说的就是数据集在哪在哪计算更合适如何分区计算函数、依赖关系这两个属性其实说的是数据集怎么来的。DAG有向无环图是Directed Acyclic Graph的简称反映了RDD之间的依赖关系Executor是运行在工作节点Worker Node上的一个进程负责运行任务并为应用程序存储数据应用用户编写的Spark应用程序任务运行在Executor上的工作单元 作业一个作业包含多个RDD以及作用于响应RDD上的各种操作阶段是作业的基本调度单位一个作业会分为多组任务每个任务被称为阶段或者被称为“任务集”。 Spark结构设计 Spark运行架构包括集群资源管理器Cluster Manager、运行作业任务的工作节点Worker Node 、每个应用的任务控制节点Driver和每个工作节点上负责具体任务的执行进程Executor。其中集群资源管理器可以是Spark自带的资源管理器也可以是Yarn或Mesos等资源管理框架。 Spark各种概念之间的关系 在Spark中一个应用Application由一个任务控制节点和若干个作业Job构成一个作业由多个阶段Stage构成一个阶段由多个任务Task组成。当执行一个应用时任务控制节点会向集群管理器Cluster Manager申请资源启动Executor并向Executor发送应用程序代码和文件然后在Executor上执行任务 运行结束后执行结果会返回给任务控制节点或者写到HDFS或者其他数据库中。 Executor的优点 与Hadoop MapReduce计算框架相比Spark所采用的Executor有两个优点 利用多线程来执行具体的任务Hadoop MapReduce采用的是进程模型减少任务的启动开销Executor中有一个BlockManager存储模块会将内存和磁盘共同作为存储设备当需要多轮迭代计算时可以将中间结果存储到这个存储模块里下次需要时就可以直接读取该存储模块里的数据而不需要读写到HDFS等文件系统里因而有效减少了IO开销或者在交互式查询场景下预先将表缓存到该存储系统上从而可以提高读写IO性能。 Spark运行架构的特点 每个应用都有自己专属的Executor进程并且该进程在应用运行起家一直驻留。Executor进程以多线程的方式运行任务减少多进程任务频繁的启动开销使得任务执行变得非常高效和可靠 Spark运行过程与资源管理器无关只要能够获取Executor进程并保持通信即可 Executor上有一个BlockManager存储模块类似于键值存储系统把内存和磁盘共提供作为存储设备在处理迭代计算任务时不需要把中间结果写入到hdfs等文件系统而是直接放在这个存储系统上后续有需要时就可以直接读取在交互查询场景下也可以把表提前缓存到这个存储系统上提高读写IO性能 任务采用了数据本地性和瑞测执行等优化机制。数据本地性是尽量将计算移到数据所在的节点上进行即“计算向数据靠拢”因为移动计算比移动数据所占的网络资源要少得多。而且Spark采用了延时调度机制可以在更大的程度上实现执行过程优化。比如拥有数据的节点当前整被其他任务占用那么在这种情况下是否需要将数据移动到其他的空闲节点呢答案是不一定因为如果经过预测发现当前节点结束前任务的时间要比移动数据的时间要少那么调度就会等待直到当前节点可用。  RDD持久化/缓存 某些RDD计算或转换可能会比较耗费时间如果这些RDD后续还会频繁的被使用到那么可以将这些RDD进行持久化/缓存 RDD通过presis或cache方法可以将前面的计算结果缓存但是并不是这两个方法被调用时立即缓存而是触发后面的action时该RDD将会被缓存在计算节点的内存中并供后面重用。 通过查看RDD的源码发现cache最终也调用了presist无参方法默认存储只存在内存中。 小结 RDD持久化/缓存的目的时为了提高后续操作的速度 缓存的级别有很多默认只存在内存中开发中使用memory_and_disk 只有执行action操作的时候才会真正将RDD数据进行持久化/缓存 实际开发中如果某一个RDD后续会被频繁使用可以将该RDD进行持久化/缓存  RDD容错机制CheckPoint 持久化的局限性 持久化/缓存可以把数据放在内存中虽然是快速的但是也是最不可靠的也可以把数据存在磁盘上也不是完全可靠的例如磁盘会损坏等。 解决方案 Checkpoint的产生就是为了更加可靠的数据持久化在Checkpoint的时候一般把数据放在HDFS上这就天然的借助了HDFS天生的高容错、高可靠来实现数据最大程度的安全实现了RDD的容错和高可用。 小结开发中如何保证数据的安全性及读取效率可以先对频繁使用且重要的数据先做缓存/持久化再做checkpoint操作。 持久化和Checkpoint的区别 位置Presist和cache只能保存在本地的磁盘和内存中或者堆外内存Checkpoint可以保存数据到HDFS这类可靠的存储上生命周期Cache和Presist的RDD会在程序结束后被清除或者手动调用unpersist方法checkpoint的RDD在程序结束后依然存在不会被删除。 RDD的依赖关系 RDD有两种依赖分别为宽依赖和窄依赖。 窄依赖父RDD的一个分区只会被一个子RDD的分区依赖 窄依赖的多个分区可以并行计算窄依赖的一个分区的数据如果丢失只需要重新计算对应的分区的数据就可以了宽依赖父RDD的一个分区会被子RDD的多个分区依赖涉及到shuffle 划分Stage阶段的依据对于宽依赖必须等待上一个阶段计算完成次啊能计算下一个阶段。 DAG的生成和划分Stage DAGDirected Acyclic Graph 有向无环图指的是数据转换执行的过程有方向无闭环其实就是RDD执行的流程原始的RDD通过一系列的转换操作就形成了DAG有向无环图任务执行时可以按照DAG的描述执行真正的计算数据被操作的一个过程。 开始通过SparkContext创建的RDD结束触发Action一旦触发Action就形成了一个完整的DAG DAG划分Stage  一个Spark程序可以有多个DAG有几个Action就有几个DAG一个DAG可以有多个Stage根据宽依赖/shuffle进行划分同一个Stage可以有多个Task并行执行task数 分区数DAG中遇到reduceByKey操作宽依赖Spark内核以此为界将其划分成不同的StageflatMap、Map都是窄依赖这些转换可以形成一个流水操作通过flatMap操作生成partition可以不用等待整个RDD计算结束而是继续进行map操作这样可以大大提高了计算的效率。 为什么要划分Stage--并行计算 一个复杂的业务逻辑如果有shuffle那么就意味着前面阶段产生的结果后才能执行下一个阶段即下一个阶段的计算要依赖于上一个阶段的数据。那么我们按照shuffle进行划分也就是按照宽依赖划分就可以将一个DAG划分成多个Stage阶段在同一个Stage中会有多个算子操作可以形成一个pipeline流水线流水线内的多个平行的分区可以并行计算。 如何划分DAG的stage 对于窄依赖partition的转换处理在stage中完成计算不划分将窄依赖尽量放在同一个stage中可以实现流水线计算 对于宽依赖由于shuffle的存在只能在父RDD处理完成后才能开始接下来的计算也就是说需要划分stage 总结Spark会根据shuffle/宽依赖使用回溯算法来对DAG进行Stage划分从后往前遇到宽依赖就断开遇到窄依赖就把当前的RDD加入到当前的stage/阶段中。
http://www.zqtcl.cn/news/919127/

相关文章:

  • 怎么学做网站住房和城乡建设部网站一级建造师
  • 政务公开网惠州seo推广公司
  • 建设英文商城网站网站开发工具选择
  • 沈阳市浑南区城乡建设局网站淄博哪里有网站建设平台
  • 做不锈钢管网站口碑好的定制网站建设提供商
  • 做网站推广销售wordpress 随机页面
  • 陈坤做直播在哪个网站如何在建设银行网站预约纪念币
  • 如何做网站么新网站一天做多少外链
  • 用家用路由器ip做网站营销策略方案
  • 学历教育网站建设网页前端是什么
  • 相同网站名网站县区分站点建设
  • 医疗器械网站建设方案南京网站制作系统
  • 小网站托管费用企查宝企业查询
  • 专门做特卖的网站是什么外国炫酷网站网址
  • 学习网站的建设wordpress批量拿shell
  • 中企动力做的网站推软件
  • 北京财优化沧州seo公司
  • 收到网站代码后怎么做啥是东莞网站优化推广
  • 重庆商城网站开发网站建设中英版
  • 免费企业网站开发给酒吧做网站
  • 想用自己电脑做服务器做个网站吗网站制作工作室哪家比较好
  • 这样建立网站vs2008做网站
  • 做网站创业故事好看大方的企业网站源码.net
  • 做家常菜哪个网站最好香蜜湖附近网站建设
  • 网站index.php被修改seo网络推广经理招聘
  • 南京做网站联系南京乐识网站建设培训福州
  • 比较冷门的视频网站做搬运网站建设 分析
  • 网站开发实习计划模板有做数学题的网站吗
  • 汕头 网站网页设计图片轮播切换
  • 免费ui网站美橙网站设计