大数据系统面临的问题一般是有以下几个问题造成的:
- 数据分布变化产生新的挑战。
- 计算环境为分布式集群。
针对系统执行过程中的作业,参考开源系统与研究论文可以看到大家比较关注的一些优化方向:
1. 存储层:
列存储和文件排布:Major Technical Advancements in Apache Hive
压缩:Choosing a Data Compression Format (Cloudera)
Column Order:
2. 作业调度层:
考虑Locality,Straggler,Capacity,Fair等问题演化出的不同作业调度算法。
Delay Scheduling: A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling
3. 执行过程
借鉴编译优化和数据库查询优化技术进行作业优化。
Apache Spark Join guidelines and Performance tuning
4. 开掘硬件性能
Project Tungsten: Bringing Apache Spark Closer to Bare Metal