Spark组件介绍

来源:互联网 发布:苏州爱知科技福利待遇 编辑:程序博客网 时间:2024/06/06 13:01

Spark简介

Spark可以独立于Hadoop单独运行

Spark的设计理念


  • 交互式和迭代式
  • 在集群多点内存中运行的分布式计算
  • 容错数据集合

同时Spark还支持使用不同的语言编程(Java,Scala,R,Python)
可以从不同的数据源获取数据(HDFS,Cassandra,HBase)
实现不同的功能Spark Core, Spark SQL, Spark Streaming, Spark MLIB和Graph X

运行模式

  • 批处理 – 用于大规模的分布式数据处理spark -submit xxx
  • 流方式 – Spark流用来传送和处理实时数据
  • 交互方式 – 常用于处理内存中的大块数据.较低的延迟性spark-shell pyspark

数据读写 Spark可以从以下系统访问数据

  • Hadoop HDFS以及Hive, HBase等
  • Amazon S3
  • Cassandra, Mongodb

另外Spark还支持以下文件格式

  • Text(包括CSV JSON等)
  • SequenceFiles
  • AVRO
  • Parquet

Spark主要部件

这里写图片描述
- Spark Core: 包含spark的主要基本功能所有和RDD有关的API都出自于Spark Core.
- Spark SQL: Spark中用于结构化数据处理的软件包. 用户可以在Spark环境下用SQL语言处理数据.
- Spark Streaming: Spark中用来处理流数据的部件
- MLlib: Spark 中用来进行机器学习和数学建模的软件包
- GraphX: Spark 中用来进行图计算的函数库
- Cluster Managers: Spark 中用来管理集群或节点的软件平台.包括Hasoop YARN, Apache Mesos 和Standalone Scheduler

Spark各部件介绍

Spark Core

  • Spark生态圈的核心:
    • 负责从HDFS, Amazon S3和HBase等持久层读取数据
    • 在YARN和Standalone为资源管理器调度Job完成分布式计算

包括两个重要部件

  • 有向无环图(DAG)的分布式并行计算框架

    反应RDD之间的依赖关系
    提供Cache机制来支持多次迭代计算或者数据共享以减少迭代计算之间读取数据局的开销
    根据用户端对RDD的指令进行优化以减少系统开销

  • 容错分布式数据RDD (Resilient Distributed Dataset)

    RDD代表了一系列数据集合分布在机群的内存中。SPARK CORE 的任务是对这些数据进行分布式计算。

    也就是说
    SPARK CORE 就是 SPARK 功能调度中心,其中包括任务调动,内存管理,容错管理及存储管理。同时也是一些列应用程序的集中地。
    这些应用程序用来定义和管理RDD (Resilient Distributed Dataset).

Spark SQL:

Spark 中用于结构化数据处理的软件包。用户用户可以在Spark环境下用SQL语言处理数据。

Spark Streaming:

Spark 中用来处理流数据的部件

MLlib:Spark

中用来进行机器学习和数学建模的软件包

GraphX:Spark

中用来进行图计算(如社交媒体关系) 的库函数

启动方式

Cluster Managers:包括Hadoop YARN方式启动, Apache Mesos, 和 Standalone Scheduler (Spark 自带的用于单机系统)

原创粉丝点击