Spark Core概要(上)

  今日份总结:我们通过今天先来认识一下spark是什么,了解spark core以及rdd,并掌握一些常用的算子,今天不用知识点的概括去认识spark core,而是用问答的方式去引导知识点,更深入探究和认识。

一、spark是什么?

目标:通过了解spark的历史和产生原因,浅显了解spark的作用

spark历史:Spark 于 2009 年诞生于加州大学伯克利分校 AMPLab,2013 年被捐赠给 Apache 软件基金会,2014 年 2 月成为 Apache 的顶级项目。相对于 MapReduce 的批处理计算,Spark 可以带来上百倍的性能提升,因此它成为继 MapReduce 之后,最为广泛使用的分布式计算框架。

浅显小结:也就是说它是一个分布式计算框架,可能是为了取代mapreduce的计算的,那么问题来了,它为什么比mapreduce快?为什么要取代mapreduce?我们通过一张图来对比mapreduce和spark的区别,再总结一下大家就明白了。

Snipaste 2019 05 05 11 26 03

那么现在spark是什么呢?我们可以大概的总结一下

Apache Spark是一个快速的,多用途的集群计算系统,相对于Hadoop Mapreduce将中间结果保存在磁盘中,Spark使用了内存保存中间结果,能在数据尚未写入硬盘时在内存中进行计算。

当然,spark只是一个计算框架,不像hadoop一样具备分布式文件系统和完备的调度系统,如果要使用spark需要结合存储系统和调度系统来使用。

二、Spark的特点是什么?

目标:通过了解spark的特点,从而了解为什么要用spark

(1)速度快:spark在内存时的运行速度时mapreduce的100倍;基于硬盘的运算速度大概时mapreduce的10倍;spark实现了一种叫做RDD的DAG(有向无环图)执行引擎,其数据缓存在内存中可以进行迭代处理。

(2)易用性:spark支持scala,python,java等多语种的API;spark支持超过80个高级运算符使得用户很轻易构建并运行计算程序;spark可以基于scala,paython,r,sql的shell交互式查询。

(3)通用性:spark提供了一个完整的技术栈,包括sql执行,数据集dataset命令式的API,机器学习库MLlib,图计算框架GraphX,流计算SparkStreaming。用户可以在同一个应用中同时使用这些强大的工具,这是划时代的。

(4)兼容性:spark可以运行在Hadoop,Apache Mesos,Kubernets,Spark Standalone等集群中;spark可以访问Hbase、Hive在内的多种数据库。

总结:因为能使用多语种的API;可扩展集群节点超过8k个;在内存中缓存数据集,实现交互式数据分析;提供命令窗口。

三、Spark的核心是什么?为什么是它?

Spark 核心的部分就是spark core,而spark core最核心的功能是RDD,RDD存在于spark-core包内,也是spark最核心的包。那我们就来了解spark-core和弹性分布式数据集(RDD)

  • Spark-Core 是整个 Spark 的基础, 提供了分布式任务调度和基本的 I/O 功能

  • Spark 的基础的程序抽象是弹性分布式数据集(RDDs), 是一个可以并行操作, 有容错的数据集合

    • RDDs 可以通过引用外部存储系统的数据集创建(如HDFS, HBase), 或者通过现有的 RDDs 转换得到

    • RDDs 抽象提供了 Java, Scala, Python 等语言的API

    • RDDs 简化了编程复杂性, 操作 RDDs 类似通过 Scala 或者 Java8 的 Streaming 操作本地数据集合

四、spark集群结构是怎样的呢?程序怎样运行在集群中的?</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值