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

asp网站开发设计文档施工企业主要负责人对安全生产的

asp网站开发设计文档,施工企业主要负责人对安全生产的,网站使用手册,毕业设计做一个网站怎么做【大数据】MapReduce的“内存增强版”——Spark 文章脉络 Spark架构 Spark-core SparkConf 和 SparkContext RDD Spark集群 Spark-sql 在大数据时代#xff0c;数据处理和分析成为企业竞争的重要手段。Hadoop作为大数据处理的基石#xff0c;其核心组件MapReduce在众多… 【大数据】MapReduce的“内存增强版”——Spark 文章脉络 Spark架构 Spark-core SparkConf 和 SparkContext RDD Spark集群 Spark-sql 在大数据时代数据处理和分析成为企业竞争的重要手段。Hadoop作为大数据处理的基石其核心组件MapReduce在众多场景中发挥了巨大作用。但是随着业务数据变多业务变复杂MapReduce在处理速度、迭代计算等方面逐渐暴露出局限性。 为此Spark应运而生被誉为MapReduce的“内存增强版”。Spark比较核心的几个组件是core、sql、streaming其中streaming使用不多因此本文着重介绍Spark-core和Spark-sql。 文章脉络 图1 Spark知识点 Spark是一个基于内存计算的大数据计算框架由加州大学伯克利分校的AMPLab实验室开发。它继承了Hadoop的分布式计算思想并在MapReduce的基础上进行了优化和改进。 Spark有以下核心优势 1、高速计算Spark将中间结果存储在内存中大大减少了磁盘IO操作提高了计算速度。 2、易用性Spark提供了丰富的API支持多种编程语言如Java、Scala、Python等简化了编程模型。 3、通用性Spark整合了多种大数据处理框架如SQL、Streaming、MLlib机器学习等实现了多场景的一站式解决方案。 【注意】Streaming、MLlib在我的日常工作中并不会用到。流式计算一般用Flink真·流式计算来做而不用Streaming假·流式计算机器学习或者深度学习则是有Python这边各种各样的库sklearn、tf、torch可以做。 4、兼容性Spark可以与Hadoop生态系统无缝集成充分利用Hadoop的资源管理和存储优势。 Q为什么Spark比MapReduce快 AMapReduce在处理数据时需要将中间结果写入磁盘导致频繁的磁盘IO操作从而影响整体执行速度。Spark使用了内存计算可以在处理过程中将数据尽可能多地保存在内存中这大大减少了磁盘I/O操作而磁盘I/O是MapReduce性能的一个主要瓶颈。 Q既然基于内存计算更快那为什么MapReduce不基于内存做 AMapReduce最初被开发的时候2004年左右内存的价格相对较高容量也远不如今天设计一个基于磁盘的系统更加经济实用。并且在MR设计之初人们对磁盘I/O和内存性能的权衡有不同的理解。尽管磁盘I/O较慢但通过批处理和顺序读写操作MR能够高效地利用磁盘带宽。 Spark架构 图2 Spark架构图 图2清晰地展示了Spark与许多大数据产品之间的关系。 【注意】Spark并不仅作为MapReduce的平替而使用在资源调度环节可以不采用YARN在存储上也可以不采用HDFS它其实可以把Hadoop这一套给替换掉。 在API支持上Spark像MapReduce一样支持了非常多的语言。 在资源调度上Spark不仅可以使用YARN可以使用Mesos以及自身的独立模式Standalone Mode。这三种资源管理器各有特点可以根据实际应用场景和需求进行选择 YARNYet Another Resource Negotiator是Hadoop生态系统中的资源管理器Spark on YARN模式下Spark应用程序可以运行在YARN集群上与其他Hadoop应用程序共享资源。 Mesos是一个通用的集群资源管理器它可以将不同类型的任务如Spark、Hadoop、Marathon等运行在同一个集群上实现资源的细粒度管理和分配。 独立模式Standalone ModeSpark自带的资源管理器它简化了Spark集群的部署和管理适用于不需要与其他大数据框架共享资源的小型或独立Spark集群。 在存储环节Spark除了支持HDFS还支持很多种存储系统比如Amazon S3、HBase甚至关系型数据库。 在SQL层面Spark的支持性也超高不但支持标准的SQL语法还支持多种数据源HDFS、Hive表、JSON、Parquet、ORC、JDBC等而且还兼容Hive。 Spark-core SparkConf 和 SparkContext 在Apache Spark中SparkConf 和 SparkContext 是创建和配置Spark应用程序的两个核心组件。 SparkConf 是一个配置Spark应用程序的类。它允许用户设置各种Spark参数这些参数可以控制应用程序的运行时行为。 【注意】SparkConf可以设置应用名称、设置运行模式等等。 SparkContext是Spark的入口点负责与Spark集群通信创建RDD以及向集群提交作业。 【注意】SparkContext可以初始化Spark应用程序的运行环境、创建和操作RDD、提交作业以执行计算、提供访问集群状态的方法。 这两个类基本相当于Spring里面的配置类、上下文的感觉没太多学习成本。 RDD Spark采用弹性分布式数据集RDD作为基本计算单元。RDD是一种分布式的、容错的、并行的数据结构可以将数据存储在内存或磁盘中。 【注意】真正写代码的时候并不能感知到“分布式”、“弹性”这些概念。只能接触到RDD这个类把数据放到RDD类里面它就是弹性分布式数据集了~ RDD有两类重要的方法称为 1、转换操作Transformations   2、行动操作Actions 【注意】转换操作Transformations是懒加载的也就是说如果你只写了转换操作的代码即使运行代码也并不会真正执行必须有行动操作才可以触发先前的转换操作。有点像TensorFlow里面预先定义计算图的感觉。 - 转换操作Transformations    - map(func)对每个元素应用一个函数。    - filter(func)返回满足函数条件的元素。    - flatMap(func)将每个元素映射到0个或多个元素并扁平化结果。    - reduceByKey(func, [numPartitions])在键值对的RDD上按键进行聚合。 - 行动操作Actions    - count()返回RDD中的元素数量。    - collect()将RDD的所有元素以数组的形式返回驱动程序。    - saveAsTextFile(path)将RDD的内容保存到文本文件中。    - foreach(func)对RDD中的每个元素应用一个函数。 【注意】目前我只在Java工程里面写过Spark或者写SQL来执行Spark任务。以Java举例假设你写了filter筛选表里大于0的数据然后print直接运行输出为空。必须在后面跟上行动操作比如count才会真正执行。 Spark集群 图3 Spark集群结构图 如图3Apache Spark集群由多个组件组成每个组件负责不同的功能。 Spark Driver    驱动程序是Spark应用程序的入口负责将用户编写的应用程序转换成实际的作业执行过程。驱动会在Spark应用程序中创建SparkContext将应用程序分解成多个任务并将这些任务分配给集群中的执行器Executors。 Cluster Manager   集群管理器负责为Spark应用程序分配资源。 Executor   执行器是运行在工作节点上的进程负责运行任务、保存数据以及向驱动程序汇报任务的进度。每个执行器都有一定数量的核心可以并行执行多个任务。执行器还负责存储计算过程中产生的数据以减少对磁盘的读写操作。 Worker Node   工作节点是集群中的物理或虚拟机器每个工作节点都会被分配一定数量的执行器执行器负责运行任务并存储数据。 DAG Scheduler   DAG调度器负责将Spark应用程序中的高层RDD转换操作转换成物理执行计划。将RDD的依赖关系转换成一个有向无环图DAG并将DAG划分为多个阶段stages。 Spark-sql Spark SQL除了支持标准SQL、兼容Hive之外其在API层面还抽象出了一个DataFrame类。 在Spark SQL中DataFrame是一个分布式数据集合它被组织成命名列的形式类似于关系数据库中的表或Python的pandas DataFrame。DataFrame API提供了丰富的数据操作功能而且支持Scala、Java、Python和R语言。 也就是说DataFrame底层是由RDD实现的但它提供了更丰富的优化和抽象。DataFrame的API比RDD更高级因此在大多数情况下DataFrame的性能会更好且代码更简洁。 【注意】起码在编码层面写RDD还是没DF优雅的。 QPandas的DF与Spark的DF之间有什么区别和联系 A对于大规模数据集Spark DataFrame可以利用集群的计算资源进行分布式计算性能通常优于pandas。对于小型到中型数据集pandas DataFrame的性能通常很好因为它是在单个机器上运行的没有网络通信的开销。 Spark和pandas DataFrame可以相互转换可以在Spark中处理大规模数据集然后在需要时将数据子集转换为pandas DataFrame进行更细致的分析。 【注意】总结一个是分布式场景下的数据集合一个是单机情况下的数据集合但是它们可以互转API也很相似。
http://www.w-s-a.com/news/308726/

相关文章:

  • 婚纱摄影网站设计模板如何做好网站内容
  • cdn网站加速招商计划书模板ppt
  • 我在某网站网站做代理开发小程序外包
  • 设计网站国外商城网站的建设费用
  • 网站开发工作需要什么专业学做网站游戏教程
  • 电子商务网站规划 分析 设计杭州网站优化平台
  • 汕头企业自助建站系统网站后台登陆验证码无法显示
  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件
  • 网站的流程图贵阳做网站方舟网络
  • c 做网站开发实例wordpress 加上index
  • 济南seo网站推广搜索广告推广
  • 有关于网站建设的参考文献宁波seo网络推广公司
  • 网站设配色个人主页介绍文案
  • 网站seo相关设置优化网站建设的好处
  • 上海市建设工程安全生产协会网站郴州网站设计公司
  • 网站大型网页游戏自己搭建服务器做视频网站
  • 建立网站企业wordpress用户名密码破解
  • 网站管理助手建站教程国外网站做acm题目比较好
  • 网站开发框架排行专业网页制作服务商
  • 企业网站建设入账政务网站建设信息
  • 网络平台建设是什么江门排名优化怎么做
  • 响应式旅游网站模板下载网址做