主页 > 新闻资讯 > Spark和Hadoop结合:Hadoop Spark如何兼容协作

Spark和Hadoop结合:Hadoop Spark如何兼容协作

作者:张老师 浏览次数: 2020-02-06 17:44
关于Spark和Hadoop,长久以来存在争议,但是随着大数据领域的进一步发展,对于Spark和Hadoop的认识,也开始走向更合理的一面,那就是Spark和Hadoop结合,共同协作来实现更高效率的大批量数据处理。那么Hadoop Spark要如何实现兼容协作呢?

Spark和Hadoop结合

首先,我们先理一理Spark和Hadoop各自的特点——

在批处理上,Hadoop只能通过MapReduce来实现,而Spark在这方面要灵活得多,可以使用RDD以及相应的编程语言。

在流处理上,Hadoop主要依靠kafka+storm来实现,而Spark依靠spark streaming,并且也可以整合kafka来使用。

在SQL查询上,Hadoop通过Hive实现,Spark则通过Spark SQL实现,两者差别不大。

在实时数据查询上,Hadoop依靠Hbase等NoSQL数据库,而Spark使用spark core的API处理NoSQL查询,Spark没有存储组件,只能去访问其他的数据源。

在机器学习上,Hadoop生态中使用mahout,但是目前已不对MapReduce更新,而spark中则是单独的MLlib模块。

基于以上,Spark和Hadoop结合,思路是怎么样的呢?

Hadoop具有高扩展性,在存储空间和计算能力上,都能轻松地实现扩展,持多数据源,多应用,多用户,多应用场景(文件、数据库、半结构化数据等)。

Spark的优势,则是采取基于内存的计算框架,使用RDD的方式处理数据,使用DAG的处理模式,大大提升了数据处理效率。但是Spark本身还不是一个完备的大数据平台,缺乏存储系统机制。

Spark和Hadoop结合,数据存储在HDFS之上,由Yarn进行统一的资源管理和作业调度。在yarn之上,可以运行各种作业,如批处理的MR,流处理的Storm,S4,内存计算的spark任务。在大规模数据处理任务上,Hadoop和Spark相辅相成,各自模块负责各自的功能,为大数据处理提供更高效稳定的解决方案。

目前来看,Spark和Hadoop结合是大数据平台搭建的大趋势,并且也确实具有实操性,对大数据处理的效率和性能会有很大的提升。成都加米谷大数据,大数据技术知识分享,专业大数据课程培训,更多详情可联系客服了解!
热点排行
推荐文章
立即申请>>