一、基本概念
- Spark是一个基于内存的分布式批处理引擎
二、基本用途
- 数据处理: 快速处理数据,兼具容错性与扩张性
- 迭代计算: 有效应对多步数据处理逻辑
- 数据挖掘: 在海量数据基础上进行复杂的挖掘分析,支持多种数据挖掘和机器学习算法
三、适用场景
1.数据处理、ETL
2.迭代计算、数据重复利用
- 通话记录分析
- …
3.机器学习
- 空气质量预测和评价
- 自动判断买家好/差评
- 客户流失预测
- …
4.交互式分析
- 结合hive/hbase数据仓库查询
- …
5.流计算
- 页面浏览/点击分析
- 推荐系统
- 舆情分析
- …
四、对比优势
1.运算效率高
- 基于内存计算,将中间结果存放内存;
- 基于DAG的任务调度执行机制,迭代运算效率更高
2.容错性高
- 使用弹性分布式数据集RDD,数据集部分丢失可重建