Spark内存计算体现它可以将RDD常驻内存(内存不足也会溢写到磁盘的),这样可以减少磁盘IO。缺点的话我觉得在于1.资源调度方面,Spark和Hadoop不同,执行时采用的是多线程模式,Hadoop是多进程,多线程模式会减少启动时间,但也带来了无法细粒度资源分配的问题。但本质上讲其实这也不能算是Spark的缺点,只不过是tradeoff之后的结果而已。2.其实Spark这种利用内存计算的思想的分布式系统你想要最大发挥其性能优势的话对集群资源配置要求较高,比如内存(当然内存不足也能用),通俗地说就是比较烧钱。其余的坑以后再填
1.Spark的内存计算 主要体现在哪里?
(a) spark, 相比与map reduce最大的速度提升在于做重复计算时,spark可以重复使用相关的缓存数据,而M/R则会笨拙的不断进行disk i/o. (b) 为了提高容错性,M/R所有的中间结果都会persist到disk, 而M/R 则默认保存在内存。
2.目前Spark主要存在哪些缺点?
(a) JVM的内存overhead太大,1G的数据通常需要消耗5G的内存 -> Project Tungsten 正试图解决这个问题;
(b) 不同的spark app之间缺乏有效的共享内存机制 -> Project Tachyon 在试图引入分布式的内存管理,这样不同的spark app可以共享缓存的数据
缺点吧。
1. 不稳定,集群偶尔会挂掉。只适合做计算,不适合直接提供服务。
2. 数据的partition不够好,会导致集群中的各台机器上计算任务分配不平均。
3. 任务调度不够好
首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件。
同时,Hadoop还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度。Spark,则是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。
两者可合可分
Hadoop除了提供为大家所共识的HDFS分布式数据存储功能之外,还提供了叫做MapReduce的数据处理功能。所以这里我们完全可以抛开Spark,使用Hadoop自身的MapReduce来完成数据的处理。
相反,Spark也不是非要依附在Hadoop身上才能生存。但如上所述,毕竟它没有提供文件管理系统,所以,它必须和其他的分布式文件系统进行集成才能运作。这里我们可以选择Hadoop的HDFS,也可以选择其他的基于云的数据系统平台。但Spark默认来说还是被用在Hadoop上面的,毕竟,大家都认为它们的结合是最好的。
以下是从网上摘录的对MapReduce的最简洁明了的解析:
我们要数图书馆中的所有书。你数1号书架,我数2号书架。这就是“Map”。我们人越多,数书就更快。现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。
Spark数据处理速度秒杀MapReduce
Spark因为其处理数据的方式不一样,会比MapReduce快上很多。MapReduce是分步对数据进行处理的: ”从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群,等等…“ Booz Allen Hamilton的数据科学家Kirk Borne如此解析。
反观Spark,它会在内存中以接近“实时”的时间完成所有的数据分析:“从集群中读取数据,完成所有必须的分析处理,将结果写回集群,完成,” Born说道。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。
如果需要处理的数据和结果需求大部分情况下是静态的,且你也有耐心等待批处理的完成的话,MapReduce的处理方式也是完全可以接受的。
但如果你需要对流数据进行分析,比如那些来自于工厂的传感器收集回来的数据,又或者说你的应用是需要多重数据处理的,那么你也许更应该使用Spark进行处理。
大部分机器学习算法都是需要多重数据处理的。此外,通常会用到Spark的应用场景有以下方面:实时的市场活动,在线产品推荐,网络安全分析,机器日记监控等。
灾难恢复
两者的灾难恢复方式迥异,但是都很不错。因为Hadoop将每次处理后的数据都写入到磁盘上,所以其天生就能很有弹性的对系统错误进行处理。
Spark的数据对象存储在分布于数据集群中的叫做弹性分布式数据集(RDD: Resilient Distributed Dataset)中。“这些数据对象既可以放在内存,也可以放在磁盘,所以RDD同样也可以提供完成的灾难恢复功能,”Borne指出
相关推荐
用于Apache Spark的Neo4j连接器 该存储库包含适用于Apache Spark的Neo4j连接器。 执照 这个neo4j-connector-apache-spark是Apache 2许可的 从源代码生成文档 cd doc # Install NodeJS dependencies npm install # ...
and data scientists who have experience using Apache Spark™ or Neo4j. Although our algorithm examples utilize the Spark and Neo4j platforms, this book will also be helpful for understanding more ...
中国有句老话,叫物以类聚,人以群分,在反作弊和市场营销等应用中,如果我们能根据用户间的某些联系发现社群,然后对这些社群进行反作弊分析或商品推荐,往往会起到意想不到的效果。本文就来介绍一个简单的社群发现...
《Neo4j图算法:Apache Spark与Neo4j实践指南》是一本专为熟悉Apache Spark或Neo4j的开发者和数据科学家编写的实用教程。这本书深入探讨了如何在知识图谱场景中应用图算法,以解决复杂的问题。作者Mark Needham和Amy...
这本书的标题和描述提到的主题是关于图算法在Apache Spark和Neo4j中的实践应用。这是一个特定领域的内容,涉及图数据库、图算法以及大数据处理。下面是对该主题的详细知识点展开: 1. 图算法基础:图算法是处理图...
Graph Algorithms: Practical Examples in Apache Spark and Neo4j By 作者: Mark Needham – Amy E. Hodler ISBN-10 书号: 1492047686 ISBN-13 书号: 9781492047681 Edition 版本: 1 出版日期: 2019-01-04 pages ...
大数据分析课程的作业和实验-Spark和Neo4j作业.zip
《Spring-Boot集成Neo4j结合Spark的朴素贝叶斯分类器实现基于电影知识图谱的智能问答系统》 在当今大数据时代,智能问答系统已成为信息检索和个性化推荐的重要手段,尤其是在电影领域,用户对电影的查询需求日益...
用于Apache Spark Zeppelin笔记本的Neo4j连接器 适用于Apache Spark的Neo4j Connector入门的笔记本系列 docker-compose up 齐柏林飞艇笔记本 造访 Neo4j实例 默认情况下,用户名/密码为neo4j/zeppelin 造访
标题中的"spark-git-to-neo4j"是一个项目,它涉及使用Apache Spark处理从Git仓库中提取的数据,并将这些数据导入图数据库Neo4j。这个项目可能是为了展示如何利用大数据处理工具Spark与图数据库集成,以分析和可视化...
在构建智能问答系统时,将Spring-Boot与Neo4j数据库和Spark的朴素贝叶斯分类器相结合是一种高效的方法,特别是在处理与电影相关的知识图谱数据时。以下将详细阐述这个系统的组成部分及其工作原理。 首先,Spring-...
### Spring-Boot集成Neo4j结合Spark的朴素贝叶斯分类器实现基于电影知识图谱的智能问答系统 <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core --> <groupId>org.apache.spark <artifactId>...
Neo4j是一个强大的开源图数据库,它以图形结构来存储和处理数据,特别适合于处理具有复杂关系的数据。在Java环境中进行图数据库开发,Neo4j的JAR文件扮演着核心角色,它提供了丰富的API和功能,使得开发者能够轻松地...
基于SpringBoot+Neo4j+Spark实现的论文智能分析问答系统(采用朴素贝叶斯分类器) 基于SpringBoot+Neo4j+Spark实现的论文智能分析问答系统(采用朴素贝叶斯分类器) 基于SpringBoot+Neo4j+Spark实现的论文智能分析...
1、基于SpringBoot+Neo4j+Spark实现的论文智能分析问答系统源码(采用朴素贝叶斯分类器).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大...
SpringBoot集成Neo4j图数据库+利用Spark的朴素贝叶斯分类器实现基于电影知识图谱的智能问答系统源码+项目说明.zip ### Spring-Boot集成Neo4j结合Spark的朴素贝叶斯分类器实现基于电影知识图谱的智能问答系统 #### ...
本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。...