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

网站公司排行榜wordpress </h1> <div class="entry-meta"> <span class="entry-category"> <a href="/news.html" target="_blank">news</a></span> <span class="entry-date">2026/4/22 7:11:53</span> <span class="sticky-meta-right"> <span class="meta-right"> </span> </div> </div> </header> 网站公司排行榜,wordpress ,成都网站建设方案,赣州网站制作【大数据】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也很相似。 <div id="vip"><a class="submit" onclick="showArticle()">查看全文</a></div> <div class="entry-copyright"> <!--<span class="source_url"></span><br>--> <span class="Disclaimers"><a href="http://www.hkea.cn/news/14365021/">http://www.hkea.cn/news/14365021/</a></span> <span class="email"></span> </div> <div class="gkt-entry-xgwz clear" style="margin-bottom:8px;"> <h3>相关文章:</h3> <li> <a href="/news/14365020/">甘肃精神文明建设网站联科网站建设</a> </li> <li> <a href="/news/14365018/">百度不收录手机网站吗佛山seo优化外包</a> </li> <li> <a href="/news/14365017/">备案的网站转移ui界面设计培训班</a> </li> <li> <a href="/news/14365016/">湖南城乡和建设厅网站wordpress 优惠插件</a> </li> <li> <a href="/news/14365015/">360做网站的苏州建设交通高等职业技术学院</a> </li> <li> <a href="/news/14365014/">适合个人做的网站佛山网站优化体验</a> </li> <li> <a href="/news/14365013/">企业网站最重要的访问对象是营销导向企业网站策划</a> </li> <li> <a href="/news/14365011/">公司网站二维码怎么做宣传网站建设的步骤</a> </li> <li> <a href="/news/14365010/">做网站主要注意些什么怎么编写网站代码</a> </li> <li> <a href="/news/14365009/">在线网站优化wordpress php5.3.5访问慢</a> </li> <li> <a href="/news/14365006/">淘宝店的网站建设分析wordpress模板淘点金</a> </li> <li> <a href="/news/14365005/">芜湖网站清远市企业网站seo</a> </li> <li> <a href="/news/14365004/">一个网站用几个域名优质的网站建设</a> </li> <li> <a href="/news/14365003/">清河做网站多少钱杭州网站设计的公司</a> </li> <li> <a href="/news/14365002/">廊坊网站建设优化wordpress 双主页</a> </li> <li> <a href="/news/14365001/">国外素材网站开网店 建网站要钱吗</a> </li> <li> <a href="/news/14365000/">松江附近做网站网站运营推广方法总结</a> </li> <li> <a href="/news/14364999/">威海企业做网站哪家好医疗软件公司排名</a> </li> <li> <a href="/news/14364998/">山西大同专业网站建设制作价格赣州章贡区地图</a> </li> <li> <a href="/news/14364997/">做网站的那些高清图上哪里找重庆公司注册流程</a> </li> <li> <a href="/news/14364996/">东莞网站建设 少儿托管手机app快速开发平台</a> </li> <li> <a href="/news/14364995/">西安做网站报价西安网站开发建设</a> </li> <li> <a href="/news/14364994/">用asp做网站有哪些功能fedora做网站服务器</a> </li> <li> <a href="/news/14364993/">中国物流网站外国知名个人网站</a> </li> <li> <a href="/news/14364992/">如何建设网站zy258住房和城乡建设管理局官网</a> </li> <li> <a href="/news/14364990/">网站建设 考核指标做视频网站视频放在哪里</a> </li> <li> <a href="/news/14364989/">乌尔禾区做网站哪里好专业建站公司联系方式</a> </li> <li> <a href="/news/14364988/">网站建设广告费 科目网站开发团队奖惩</a> </li> <li> <a href="/news/14364986/">怎样用网站做单笔外贸网站建设维护公司资质</a> </li> <li> <a href="/news/14364985/">电商公司网站建设流程移动端网站建设重点有哪些</a> </li> </div> </article> </main> </div> </div> <aside id="secondary" class="widget-area sidebar"> <div class="widget widget_posts_thumbnail" style="margin-top:6px;"> <h2 class="widget-title">最新文章</h2> <ul> <li class="clear"> <a href="/news/14365876/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/阿里云网站建设9元seo关于网站搜索" alt=" 阿里云网站建设9元seo关于网站搜索" /> </div> </a> <div class="entry-wrap"> <a href="/news/14365876/" rel="bookmark"> 阿里云网站建设9元seo关于网站搜索</a> <div class="entry-meta">2026/4/22 8:44:04</div></div> </li> <li class="clear"> <a href="/news/14365875/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/手机网站关键编写一个android应用程序" alt=" 手机网站关键编写一个android应用程序" /> </div> </a> <div class="entry-wrap"> <a href="/news/14365875/" rel="bookmark"> 手机网站关键编写一个android应用程序</a> <div class="entry-meta">2026/4/22 8:43:57</div></div> </li> <li class="clear"> <a href="/news/14365874/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/电商网站建设需要多少钱一年企业vi品牌设计公司" alt=" 电商网站建设需要多少钱一年企业vi品牌设计公司" /> </div> </a> <div class="entry-wrap"> <a href="/news/14365874/" rel="bookmark"> 电商网站建设需要多少钱一年企业vi品牌设计公司</a> <div class="entry-meta">2026/4/22 8:43:51</div></div> </li> <li class="clear"> <a href="/news/14365873/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/好一点的网站建设网站被墙301怎么做" alt=" 好一点的网站建设网站被墙301怎么做" /> </div> </a> <div class="entry-wrap"> <a href="/news/14365873/" rel="bookmark"> 好一点的网站建设网站被墙301怎么做</a> <div class="entry-meta">2026/4/22 8:43:45</div></div> </li> <li class="clear"> <a href="/news/14365872/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/建设一个交易网站要用多少钱搜索引擎营销原理是什么" alt=" 建设一个交易网站要用多少钱搜索引擎营销原理是什么" /> </div> </a> <div class="entry-wrap"> <a href="/news/14365872/" rel="bookmark"> 建设一个交易网站要用多少钱搜索引擎营销原理是什么</a> <div class="entry-meta">2026/4/22 8:43:38</div></div> </li> <li class="clear"> <a href="/news/14365871/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/销售网站设计方案电销客户数据怎么买" alt=" 销售网站设计方案电销客户数据怎么买" /> </div> </a> <div class="entry-wrap"> <a href="/news/14365871/" rel="bookmark"> 销售网站设计方案电销客户数据怎么买</a> <div class="entry-meta">2026/4/22 8:43:32</div></div> </li> </ul> </div> <div class="leftdiv2"> </div> </aside> </div> <footer id="colophon" class="site-footer"> <div class="clear"></div> <div id="site-bottom" class="clear"> <div class="container"> <div class="menu-m_footer-container"> <ul id="footer-menu" class="footer-nav"> <li> <strong> <a href="/">核客编程介绍</a></strong> </li> <li> <strong> <a href="/">商务合作</a></strong> </li> <li> <strong> <a href="/">免责声明</a></strong> </li> </ul> </div> <div class="site-info"> <p>CopyRight © <a href="/">核客编程</a>版权所有 </p> </div> </div> </div> </footer> </div> <div id="back-top"> <a href="#top" title="返回顶部"> <svg width="38" height="38" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="48" height="48" fill="white" fill-opacity="0.01" /> <path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="#3d4de6" stroke="#3d4de6" stroke-width="4" stroke-linejoin="round" /> <path d="M24 33.5V15.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /> <path d="M33 24.5L24 15.5L15 24.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg> </a> </div> <script src='/templates/nzzt/js/common.js'></script> <script> $(function(){ $('.source_url').text('原文地址:https://blog.csdn.net/qq_43592352/article/details/142152626'); }); /*$('.source_url').on("click",function() { window.open('https://blog.csdn.net/qq_43592352/article/details/142152626', '_blank'); });*/ </script> </body> </html>