Spark的概念和特征

1.spark的概念

Apache Spark™ is a fast and general engine for large-scale data processing.

Apache Spark 是处理大规模数据的快速的、通用的引擎。

3.spark的四大特征

(1)Speed(速度)

  Run programs up to 100x faster than Hadoop MapReduce in memory, or 10x faster on disk.

Apache Spark has an advanced DAG execution engine that supports acyclic data flow and in-memory computing.

  

 

hadoopMapreduce相比,spark基于内存的运算比Mapreduce要快100倍,spark基于磁盘的运算比Mapreduce要快10倍。(实际应用中并没有那么的夸张)

Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。

 

为什么spark的运行速度会比Mapreduce快??==========

 

Mapreducemap  ->磁盘 ->  shuffle  ->  reduce  ->  磁盘  

上面过程中两次将文件落地到磁盘上面,然后再加载都内存,这样耗费时间;

spark的函数在运行的时候,绝大多数的函数都是在内存中迭代的,只有少数的函数在运行的时候需要将文件落地到磁盘上面,这样就加快了计算的速度。

 

总结:Spark是对MapReduce的过程做了优化,

           Spark是对MapReduce的架构做了优化

 

(2)Ease of Use(易用)

Write applications quickly in Java, Scala, Python, R.

Spark offers over 80 high-level operators that make it easy to build parallel apps. And you can use it interactively from the Scala, Python and R shells.

Spark支持JavaPythonScalaAPI,还支持超过80种高级算法,使得用户可以很容易的构建并行应用程序,用户可以交互式的使用ScalaPythonRshell操作。

语言的选择:

Java

好处:我们做一个大数据的大型项目

            Hbase  Kafka  Flume  hadoop -> MySQL  SSH 这些都是用Java开发的,因为Java有很成熟的产品和方案存在,所以也会有项目经理。去选Java开发Spark程序。

坏处:代码写出来不好看,运行效率没scala好。

             但是好在出来了jdk8  里面有lamda表达式,也支持函数式编程。让代码好看了一点。

Scala:

好处:spark 就是用scala开发,运行效率好。而且是函数式编程。代码很优雅Spark中超过80个算子(map  reduce)操作Spark开发起来,会更灵活,而且更简单

Ptyhon去做开发:这也是没问题的

注:一个项目里面可以即用ScalaJava的,因为他们可以无缝的对接,但是维护成本比较高

(3)Generality(通用性)


Combine SQL, streaming, and complex analytics.Spark powers a stack of libraries including SQL and DataFramesMLlib for machine learning, GraphX, and Spark Streaming. You can combine these libraries seamlessly in the same application.

Spark提供了统一的解决方案,Spark可以用于批处理、交互式查询(通过spark SQL)、实时流处理(通过Spark Streaming)、机器学习(通过MLlib)和图计算(GraphX),这些不同类型的处理可以在一个应用中无缝使用,而且spark的性能极好。


第一代大数据平台

Hadoop上面的分布式的计算系统是MapReduce,但是MapReduce的计算程序要求太高。进而开发出来了基于HadoopHivePig,这两个分布式的数据仓库都是将sql语句转化成MapReduce程序提交到Yarn上面运行,计算的数据来源于HDFS

MapReduce也支持深度学习和机器学习,将Mahout的程序转换成MapReduce程序,提交到Yarn上面进行运行。

对数据实时的交互式查询需要在Hadoop的集群上面安装一个Hbase

对数据进行实时的计算分析,在Hadoop的集群上面安装一个storm的集群。

第二代大数据平台

SparkCore是类似Mapreduce的一个计算系统

SparkSQL是类似于HivePig

SparkStreaming类似于Storm

SparkStreamingSparkSQL可以进行无缝的转换

Spark也支持深度学习和机器学习,还支持图计算(数据结构里面的图结构)

 

(4)Runs Everywhere(可融合性)

Spark runs on Hadoop, Mesos, standalone, or in the cloud. It can access diverse data sources including HDFS, Cassandra, HBase, and S3.

You can run Spark using its standalone cluster mode, on EC2, on Hadoop YARN, or on Apache Mesos. Access data in HDFSCassandraHBase,HiveTachyon, and any Hadoop data source.

Spark的资源管理和调度方面:

standalone模式下面,spark自己管理和调度自己的资源,此时会开启masterworker,由master来管理和调度资源。

hadoop yarn的模式下,spark的资源管理和调度器是yarn,由resourcemanager来管理和调度资源。

apache mesos的模式下,spark的资源管理和调度器是mesosMesos:是一个类似于yarn的资源管理器。

 

Spark可访问的数据:

HDFS,CassandraHbaseHiveTachyon和各种hadoop和访问到的数据资源,比如kafkaflume等。

 

 

总结:

在我们国内经常让Spark是运行在yarn上面,原因我们之前的大数据平台就是用hadoop构建的。国外喜欢把Spark运行在MesosSpark一出来的时候,就是运行在Mesos

注:mesosspark是一个团队写的,最早spark是在masos上面运行的。为了推广所有兼容了其他的资源管理器

Spark自己管理资源,standalone Spark自己管理资源。

Master Worker

Spark –》Mesos (同一个团队写的)

Spark –》 Stanalone的模式


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值