Spark的适用场景
- 需要快速处理大数据。Hadoop常用于解决高吞吐,批量处理,离线计算结果的业务场景,如果需要实时,即对数据处理速度有一定要求的,Hadoop显然不符合;Spark通过内存计算能力可以极大的提高大数据处理速度
- 适用于需要多次操作特定数据集的应用场合
- 数据量不大,但要求实时统计分析需求
- 基于大数据的SQL查询、流式计算,图计算,机器学习的场景
- 支持Java,Scala,Python,R语言的场景
Spark的特点
- 快速处理能力,基于内存
- 易于使用,支持多种语言
- 支持SQL查询,支持SQL和HQL
- 支持流式计算,Spark Streaming
- 可用性高,既支持Standalone独立部署(Master and Slaver模式),也支持基于Yarn的混合模式
- 丰富的数据源支持,Spark可以访问操作系统自身和HDFS,也可以访问Hive,HBase等
Spark的优缺点
优点即为上述特点,缺点:
- 不稳定,集群偶尔会挂掉。因为是基于内存运算的,因为确实与磁盘的I/O,如果数据量超出内存会出现挂掉的现象
- 数据的partition,会导致集群中的各台机器上计算任务分配不均匀
- 自身任务调度功能不够好