Spark SQL是用于结构化数据处理的Spark模块。它已在业界广泛部署,但要调整其性能却很有挑战性。
现有的机器学习调优方法由于时间成本高且无法适应待处理数据量的变化,很难在实践中应用。
为了解决这些问题,中国科学院深圳先进技术研究所(SIAT)于志斌教授领导的一个研究团队提出了一种低时间成本的自动配置优化方法,名为低开销在线配置自动调整(LOCAT),它可以缩短优化时间,提高Spark SQL的性能。
研究结果发表在SIGMOD 2022上,这是一个面向数据库研究人员、从业者、开发人员和用户的国际论坛。相关论文可在2022年数据管理国际会议记录中找到。
研究人员首先为LOCAT设计了查询和配置参数敏感性分析技术。在收集培训样本时,将识别对配置参数不敏感的查询,并将其从给定的工作负载中删除。
余教授说:“对于其余的查询,LOCAT计算了相关系数,以确定重要的配置参数。”。然后,应用核主成分分析来降低配置参数搜索的维数
最后,研究人员为LOCAT设计了贝叶斯优化,该优化能够感知数据集的大小来搜索最优配置,从而可以根据数据集的大小自动优化其性能。
ARM集群(一个用于大数据计算的服务器集群,其中每台服务器都使用基于ARM指令的CPU)上的实验结果表明,LOCAT将最先进方法的优化过程加快了至少4.1倍,最高可达9.7倍。此外,LOCAT将应用性能提高了至少1.9倍,最高可达2.4倍。在x86集群上,LOCAT显示出与ARM集群相似的结果。