技本功|Hive优化之Spark执行引擎参数调优(二)

Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的的一个点,因此掌握一些Hive调优是必不可少的一项技能。影响Hive效率的主要有数据倾斜、数据冗余、job的IO以及不同底层引擎配置情况和Hive本身参数和HiveSQL的执行等因素。本文主要结合实际业务情况,在使用Spark作为底层引擎时,通过一些常见的配置参数对报错任务进行调整优化。

下面从两个方面对复杂任务的优化:

Spark资源参数优化
主要针对Spark运行过程中各个使用资源的地方,通过调节资源相关参数,来优化资源使用的效率,从而提升Spark作业的执行性能。例如:num-executors、executor-memory、executor-cores等。

Shuffle相关参数调优
主要针对spark运行过程中的shuffle,通过调节参数,提高shuffle的执行效率,从而提升spark作业的执行性能。例如:spark.shuffle.memoryFraction,spark.sql.shuffle.partitions等。

案例1
复杂任务执行失败,大约有400行sql,较为复杂,join聚合函数操作较多。手动重试任务后仍然报错。

查看任务报错日志

你可能感兴趣的:(技术文档,spark,hive)