MAPREDUCE服务 MRS-配置矢量化读取ORC数据:配置场景

时间:2024-08-01 19:24:13

配置场景

ORC文件格式是一种Hadoop生态圈中的列式存储格式,它最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。和Parquet文件格式类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内按列进行存储,并且文件中的数据尽可能的压缩来降低存储空间的消耗。矢量化读取ORC格式的数据能够大幅提升ORC数据读取性能。在Spark2.3版本中,SparkSQL支持矢量化读取ORC数据(这个特性在Hive的历史版本中已经得到支持)。矢量化读取ORC格式的数据能够获得比传统读取方式数倍的性能提升。

该特性可以通过下面的配置项开启:
  • “spark.sql.orc.enableVectorizedReader”:指定是否支持矢量化方式读取ORC格式的数据,默认为true。
  • “spark.sql.codegen.wholeStage”:指定是否需要将多个操作的所有stage编译为一个java方法,默认为true。
  • “spark.sql.codegen.maxFields”:指定codegen的所有stage所支持的最大字段数(包括嵌套字段),默认为100。
  • “spark.sql.orc.impl”:指定使用Hive还是Spark SQL native作为SQL执行引擎来读取ORC数据,默认为hive。
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1964.html