Spark概述
大数据开发的总体架构
在数据计算层,Hadoop的核心组件MapReduce可以结合Hive,通过类SQL的方式进行数据的离线计算。Spark是一个多功能的计算框架,既可以进行离线计算(通过Spark SQL),也可以进行实时计算(通过Spark Streaming)。这些功能都建立在Spark的核心引擎之上。
Spark初识
Apache Spark是一个快速且通用的集群计算系统,提供了多种高级API,支持Java、Scala、Python和R语言。Spark拥有一个优化的执行引擎,能够处理通用的执行图计算,并支持以下高级工具:
- 使用SQL进行结构化数据处理的Spark SQL
- 用于机器学习的MLlib
- 用于图处理的GraphX
- 用于实时流处理的Spark Streaming
Spark的主要特点
快速
与MapReduce相比,Spark支持多种操作,形成的有向无环图(DAG)允许中间数据保存在内存中,从而提供更快的处理速度。
易用
Spark支持多种编程语言,并提供了超过80个高级算子,简化了应用程序的构建过程。
通用
Spark包含一系列库,可以在同一个应用程序中无缝地组合使用。
到处运行
Spark可以在多种集群管理器上运行,如独立集群模式、Hadoop YARN、Mesos等,并能访问多种数据源。
Spark的主要组件
Spark是由多个组件构成的软件栈,其中Spark Core是核心计算引擎,负责任务的调度、分发和监控。
Spark安装
下载并解压缩spark-3.3.3-bin-hadoop3.tgz
,重命名安装目录为spark
。在配置文件/etc/profile
中添加环境变量:
export SPARK_HOME=/export/servers/spark
export PATH=$PATH:$SPARK_HOME/bin
执行/etc/profile
脚本以使配置生效:
source /etc/profile