热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop与spark简要说明

随着数据行业的发展,数据量的不断增加,对数据分析挖掘的技术也在逐步更新。如今一提到大数据,业内人士首先就会想到Hadoop、Spark。那么怎么理解Hadoop和Spark让很多人

《Hadoop与spark简要说明》
《Hadoop与spark简要说明》

随着数据行业的发展,数据量的不断增加,对数据分析挖掘的技术也在逐步更新。如今一提到大数据,业内人士首先就会想到Hadoop、Spark。那么怎么理解Hadoop和Spark让很多人产生迷茫。

CDA数据分析研究院认为,Spark是大数据行业的后起之秀,与Hadoop相比,Spark有很多优势。Hadoop能在业内得到充分认可的主要原因是:

1、 Hadoop解决了大数据的可靠存储和处理问题。

2、 Hadoop的开源性,能让大数据从业人士找到灵感,方便实用。

3、 Hadoop拥有完整的生态圈

4、 HDFS是一种分布式文件系统层,可对集群节点间的存储和复制进行协调。HDFS确保了无法避免的节点故障发生后数据依然可用,可将其用作数据来源,可用于存储中间态的处理结果,并可存储计算的最终结果。

5、 MapReduce通过简单的Mapper和Reducer的抽象提供一个变成模型,可以并发的,分布式的处理大量的数据集,将最终结果重新写入HDFS。

《Hadoop与spark简要说明》
《Hadoop与spark简要说明》

Hadoop及其Map reduce处理引擎提供了一套久经考验的批处理模型,最适合处理对时间要求不高的非常大规模的数据集,通过非常低成本的组建即可搭建完整功能的Hadoop集群,使得廉价且高效的处理技术可以灵活应用在很多哪里实例中。

但Hadoop也会有很多局限和不足,在数据量的不断扩大下,Hadoop的运算速度会比较吃力,现阶段来讲,Hadoop在大数据行业仍有很高频率的应用,但随着数据量的增大,Hadoop中的Map reduce将面临窘境。而Spark的运算速度是Hadoop中Map reduce的百倍甚至更快。

《Hadoop与spark简要说明》
《Hadoop与spark简要说明》 Hadoop体系架构

Spark是一种包含流处理能力的下一代批处理框架。与Hadoop的Map reduce引擎基于各种相同原则开发而来的,Spark主要侧重于通过完善的内存计算和处理优化机制加快批处理工作负载的运算速度。

CDA大数据分析师都具备了Hadoop与Spark的技能,在各行各业得到了实际的应用,如交通大数据、电力大数据、电商大数据等。

从对CDA大数据分析师的采访中得知,在电商行业,用户每天的浏览、点击、下单支付行为都会产生海量的日志信息,这些日志信息会被汇总、整理、挖掘、学习,用Hadoop中的Map reduce框架解决数据处理、机器学习等问题,从而对行业的推荐、搜索系统甚至公司的战略目标提供数据支持。但是随着数据量的不断增大,Map reduce框架明显有些吃力,企业也正在往Spark上转。Spark的三个优点使得它在行业里得到了的迅速发展:

《Hadoop与spark简要说明》
《Hadoop与spark简要说明》

1、 快速高效,,首先,Spark使用了线程池模式,任务调度效率很高,其次,Spark可以最大限度的利用内存,多轮迭代任务执行效率高。

2、 API友好易用。主要体现在两个方面:第一,Spark支持多门编程语言,可以满足不同语言背景的人使用需求,第二,Spark的表达能力非常丰富,并且封装了大量的常用操作

3、 组建丰富。Spark生态圈当下已经比较完整,在官方组件涵盖SQL、图计算、机器学习和实时计算的同时,还有很多第三方开发的优秀组件,足以应对日常的数据处理需求。

阿里是国内最早使用Spark的公司之一,同时也是最早在Spark中是用来YARN的公司之一。

淘宝网络数据挖掘和计算团队针对淘宝的大数据和应用场景,在MLlib、GraphX和Streaming三大块进行了广泛的应用,并取得了很好的效果。可以说阿里的技术团队在利用Spark来解决多次迭代的机器学习算法、高计算复杂度的算法方面,在国内居于领先的位置。同时阿里也在积极打造Spark周边的生产环境,使得Spark在阿里的应用更加广泛,可以满足大部分算法工程师和数据科学家的需求。


推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
  • Python入门后,想要从事自由职业可以做哪方面工作?1.爬虫很多人入门Python的必修课之一就是web开发和爬虫。但是这两项想要赚钱的话 ... [详细]
author-avatar
手机用户2502913717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有