- 应用场景
- 离线场景:实现离线数据仓库中的数据清洗、数据分析、即席查询等应用
- 比较成熟,工作中主要的应用场景
- 使用Spark对各种数据源数据进行处理:Hive、RDBMS、文件
- Hive数仓常见处理引擎:Spark、Impala、Presto
- Impala:底层是C语言,性能最好,SQL开发,集成Hive或者Hbase,语法兼容性较差
- Presto:底层基于JVM,性能其次,SQL开发,集合各种数据库数据源,纯内存,与Hive兼容性较差
- Spark:底层基于JVM,支持读写各种大数据平台数据源数据,多种开发语言,与Hive语法完美兼容
- 实时场景:实现实时数据流数据处理,相对而言功能和性能不是特别的完善,工作中建议使用Flink替代
- 离线场景:实现离线数据仓库中的数据清洗、数据分析、即席查询等应用
- 开发语言:Python、Scala、SQL、Java、R
- 运行模式
- 本地模式Local:程序运行在本地,不是分布式的,只启动1个进程运行所有Task任务,一般用于测试
- 集群模式Cluster
- Standalone:Spark自带的一个分布式资源管理平台,可以将Spark直接运行在自带的平台中
- YARN:Hadoop中的一个公共的分布式资源管理平台,可以将Spark程序提交到YARN中运行
- Messos:类似于YARN,国外用的比较多
- K8s:分布式资源容器平台