【Spark】简介

    最近学习了spark大数据技术,这里开始分享本阶段的学习心得。作为个人的【spark】系列,包含了spark的《简介》,《RDD》,《DataFrame》,《GraphFrame》等板块。下面进入第一个板块——《简介》。部分内容整理自辛立伟老师处

spark是什么?

    spark是一个用于大规模数据处理的统一分析引擎、它基于hadoop mapreduce 并扩展了mapreduce模型,能用于覆盖范围广泛的工作负载,有效的用于交互式查询、流处理等更多类型的计算,它能将计算划分到内存执行,大大提升了程序的处理速度。
    Spark是开源的,其社区也是大数据中最活跃的,有近50多家公司在做贡献,未来的主流方向趋于流处理和深度学习。它具有特性:
    1.运行速度快,使用DAG执行引擎以支持循环数据流与内存计算;
    2.容易使用,支持使用Scala、 Java、 Python和R语言进行编程, 可以通过Spark Shell进行交互式编程;
    3.通用性,Spark提供了完整而强大的技术栈, 包括SQL查询、 流式计算、 机器学习和图算法组件;
    4.可运行于独立的集群模式中,可运行在Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、 HBase、 Hive等多种数据源。

Spark组件

Spark Core
    • Spark Core是Spark平台底层通用执行引擎, 所有其他功能都建立在它之上
    • Spark Core提供了内存中的计算和对外部存储系统中数据集的引用
    • Spark Core中提供了抽象的数据结构RDD
Spark SQL
    • Spark SQL位于Spark Core之上的一个组件
    • 它引入了新的数据抽象: DataFrame和DataSet
Spark Streaming
    • Spark流利用Spark Core的快速调度功能来执行流分析
    • 它以小批量的方式来处理数据, 并在这些小批量数据上执行RDD转换
MLlib (Machine Learning Library)
    • MLlib是在Spark之上的分布式机器学习框架.
GraphX
    • GraphX是在Spark之上的分布式图处理框架, 它提供了一个用于表达图计算的API, 可以使用Pregel抽象API对用户定义的图进行建模
    • 它还为这种抽象提供了一个优化的运行时
在这里插入图片描述

Spark启动模式

    Spark 基于yarn的模式:
在这里插入图片描述
    Spark Hadoop和Spark的统一部署:
在这里插入图片描述

Spark交互方式

    spark的交互方式有很多种:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Spark VS MapReduce

    spark与传统MapReduce的比较。
在这里插入图片描述
–基本原理
    • MapReduce是基于磁盘的大数据批量处理框架。
    • Spark是基于内存的大数据综合处理框架。
–应用场景
    • MapReduce可以处理超大规模数据 , 适用于处理具有较少迭代
次数的长任务。
    • Spark适用于处理具有较多迭代次数的任务。
–容错性
    • MapReduce的数据主要来源于HDFS。 具有完善的容错机制。
    • Spark 的容错性都是基于RDD实现的 。

小结

    通过上面文章的介绍,我们知道:
1.spark是一个大规模数据处理的统一分析引擎;
2.spark能够运行在本地单机模式、spark自带的简单资源管理的集群、其他资源管理的集群下。
3.spark的交互方式可以是命令行、.jar包、第三方工具。
4.spark本质是MapReduce模型的扩展。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章