Spark?
Apache Spark是用于大规模数据分析的统一引擎。是一个分布式内存计算框架。
2009在加州大学伯克利分校(UC Berkeley)AMP实验室被创建,作为伯克利大学的研究性项目。
历史
特点
运行速度快(Fast)
易用性好(Simple)
通用性强(Scalable)
随处运行(Unified)
模块
Spark Core:Spark核心模块
Spark SQL:结构化数据处理模块
Spark Streaming:准实时计算模块
Spark MLlib:机器学习算法模块
Spark GraphX:图计算模块
架构
Spark的通信框架:【netty】
主:Master
从:Worker
模式
- Local模式:Spark运行在本地
- Standalone模式:Spark运行在Standalone集群内
- Yarn模式:Spark提交给Yarn运行
Spark Shell命令
Spark Shell功能:提供一个交互式的命令行,用于测试开发Spark的程序代码
#1.spark-submit
用于提交开发好的Spark程序代码到集群中运行
#2.pyspark
Python命令行,用于本地开发测试Python代码使用
pyspark = Python + Spark
#3.spark-sql
SQL命令行,用于执行SQL脚本,类似于Hive的hive命令,只能用于执行SQL或者提交SQL文件到集群运行
#4.run-example
本地运行示例,如计算Pi的值等
#5.spark-shell
Scala命令行,用来本地开发测试Scala代码使用