spark3 特性 | 说明 |
---|---|
1、 | 动态分区裁剪(Dynamic Partion Pruning) |
2、 | 自适应查询执行(Adaptive Query Execution) |
3、 | 加速器感知调度(Accelertor-aware Scheduling) |
4、 | 更好的api扩展(BetterAPI-Extensions-DataSourceV2) |
5、 | 更好的ANSI-SQL兼容(ANSI SQL Compatible) |
6、 | SparkR 向量化读写(Vectorization) |
spark提供的编程语言接口 | 类型 | 开发效率 | 执行效率 | 成熟度 | 支持类型 |
---|---|---|---|---|---|
Scala | 编译型 | 中 | 高 | 高 | 原生支持 |
java | 编译型 | 低 | 高 | 高 | 原生支持 |
Python | 解释型 | 高 | 中 | 中 | PySpark |
R | 解释型 | 高 | 中 | 低 | SparkR |
SQL | 解释型 | 高 | 高 | 高 | 原生支持 |
spark速度快(与mr比、其实没有什么可比性)、使用简单、功能齐全(spark sql、流处理、mlib(机器学习)、GraphX图处理)、可以在任何地方运行(spark on hadoop\apache mesos\k8s\standalone\in the cloud)
|hadoop mr | spark ---|---|--- 数据存储结构| 磁盘hdfs文件| 内存构建弹性分布式数据集RDD 编程范式| Map + Reduce | DAG: Transformation +Action 数据读写性能| 计算中间结果落到磁盘,io及序列化、反序列化代价大| 计算中间结果在内存中,维护存取速度快 任务执行方式| task 以进程的方式维护,需要秒级启动任务| Task 以线程方式维护,对于数据集读取能够达到亚秒级
部署方式可以分为: spark-local、standalone 、standalone-HA、spark-on-yarn、k8s等
spark-local本地模式-单机版部署,准备工作:1、jdk;2、ScalaSDK只需要在windows安装即可;3、Spark安装包(https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz)