这篇文章主要讲解了“Hadoop与spark是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hadoop与spark是什么”吧!
Hadoop是什么?
Hadoop在2006年开始成为雅虎项目,随后晋升为顶级Apache开源项目。它是一种通用的分布式系统基础架构,具有多个组件:Hadoop分布式文件系统(HDFS),它将文件以Hadoop本机格式存储并在集群中并行化; YARN,协调应用程序运行时的调度程序; MapReduce,这是实际并行处理数据的算法。Hadoop使用Java编程语言构建,其上的应用程序也可以使用其他语言编写。用一个Thrift客户端,用户可以编写MapReduce或者Python代码。
除了这些基本组件外,Hadoop还包括Sqoop,它将关系数据移入HDFS; Hive,一种类似SQL的接口,允许用户在HDFS上运行查询; Mahout,机器学习。除了将HDFS用于文件存储之外,Hadoop现在还可以配置使用S3 buckets或Azure blob作为输入。
它可以在Apache发行版开源,也可以用Cloudera(规模和范围最大的Hadoop供应商),MapR或HortonWorks等厂商提供。
Spark是什么?
Spark是一个较新的项目,在2012年诞生在加州大学伯克利分校的AMPLab。它也是一个顶级Apache项目,专注于在集群中并行处理数据,一大区别在于它在内存中运行。
类似于Hadoop读取和写入文件到HDFS的概念,Spark使用RDD(弹性分布式数据集)处理RAM中的数据。Spark以独立模式运行,Hadoop集群可用作数据源,也可与Mesos一起运行。在后一种情况下,Mesos主站将取代Spark主站或YARN以进行调度。
Spark是围绕Spark Core构建的,Spark Core是驱动调度,优化和RDD抽象的引擎,并将Spark连接到正确的文件系统(HDFS,S3,RDBM或Elasticsearch)。Spark Core上还运行了几个库,包括Spark SQL,允许用户在分布式数据集上运行类似SQL的命令,用于机器学习的MLLib,用于解决图形问题的GraphX以及允许输入连续流式日志数据的Streaming。
Spark有几个API。原始界面是用Scala编写的,并且由于大量数据科学家的使用,还添加了Python和R接口。Java是编写Spark作业的另一种选择。
Databricks是由Spark创始人Matei Zaharia创立的公司,现在负责 Spark开发并为客户提供Spark分销。
感谢各位的阅读,以上就是“Hadoop与spark是什么”的内容了,经过本文的学习后,相信大家对Hadoop与spark是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。