0


【Spark基础】(一)Spark简介

1.1 Spark是什么

  • 定义:Apache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎 - Spark是一款分布式内存计算的统一分析引擎- 对任意类型的数据进行自定义计算:结构化/半结构化/非结构化

1.2 Hadoop(MR) VS Spark

1.3 Spark四大特点

  1. speed 速度快:① Spark在处理数据时,可以将中间结果数据存储到内存中,不需要落盘和IO;② Spark提供了非常丰富的算子(API),可以做到复杂任务在一个Spark程序中完成
  2. easy of use 易用:支持Java、Scala、Python、R和SQL等多种语言
  3. generality 通用性强:提供了Spark SQL、Spark Streaming、MLib和GraphX多个工具库,可以在一个应用中使用
  4. runs everywhere 运行方式多样:Hadoop、Mesos、standalone、kubernetes

1.4 Spark框架模块

  • Spark Core:Spark的核心和运行基础,以RDD为数据抽象,提供Python、Java、Scala、R语言的API,可以编程进行海量离线数据批处理计算
  • SparkSQL:支持以SQL语言进行结构化数据处理,SparkSQL针对离线计算场景,StructuredStreaming模块以SparkSQL为基础,进行数据流式计算
  • SparkStreaming:提供数据的流式计算
  • MLib:机器学习计算,内置大量机器学习库和API算法
  • GraphX:图计算,提供大量图计算API

1.5 Spark运行模式

  • Local 本地模式(单机):以一个独立的进程,通过内部的多个线程来模拟Spark运行环境【开发 | 测试】
  • Standalone模式(集群):Spark中的各个角色以独立进程形式存在,并组成Spark集群环境【生产】
  • Hadoop YARN模式(集群):Spark中的各个角色运行在YARN的容器内部,并组成Spark集群环境【生产】
  • Kubernetes模式(集群):Spark中的各个角色运行在Kubernetes的容器内部,并组成Spark集群环境【生产】
  • 云服务模式(运行在云平台上)【生产】

1.6 Spark的架构角色

1.6.1 YARN的4类角色

  • 资源管理层面- 集群资源管理者(Master):ResourceManager- 单机资源管理者(Worker):NodeManager
  • 任务计算层面- 单任务管理者(Master):ApplicationMaster- 单任务执行者(Worker):Task(容器内计算框架的工作角色)

1.6.2 Spark的角色

  • 资源管理层面- 集群资源管理者:Master- 单机资源管理者:Worker
  • 任务计算层面- 单任务管理者(Master):Driver- 单任务执行者(Worker):Executor

注:在Local模式下,Driver既是任务管理者也是执行者


本文转载自: https://blog.csdn.net/Rebecca_tune/article/details/143234689
版权归原作者 一只喵喵豚 所有, 如有侵权,请联系我们删除。

“【Spark基础】(一)Spark简介”的评论:

还没有评论