文章预览
论文链接:https://www.vldb.org/pvldb/vol17/p3759-shi.pdf 引言 近年来 Spark 已经成为离线大数据处理引擎的事实标准,广泛用于数据仓库、数据湖、机器学习等领域。在字节跳动内部每天运行百万级别的 Spark 离线作业,Shuffle 量高达 500PB,CPU 资源需求达到千万级别。随着业务的快速发展,用户对计算资源的需求越来越大,除了增加物理资源之外,如何提高线上 Spark 作业的资源使用效率也是我们亟需解决的问题。 在对线上 Spark 作业做了统计分析发现作业的 CPU & Memory 利用率都低于 50%(利用率指作业实际使用的资源占实际申请资源的比例);作业的 Data Scan Time 加上 Shuffle Read Block Time 占据了整个运行时间的 45% 左右。从上述指标可以看出,线上 Spark 作业有非常大的资源优化空间,资源使用效率不高的原因主要有以下 3 个方面: Slow IO Slow HDFS IO:离线数据存
………………………………