更新时间:2024-07-24 GMT+08:00

配置过滤掉分区表中路径不存在的分区

配置场景

当读取Hive分区表时,如果指定的分区路径在HDFS上不存在,则执行select查询时会报FileNotFoundException异常。此时可以通过配置“spark.sql.hive.verifyPartitionPath”参数来过滤掉分区路径不存在的分区,来避免读取时报错。

配置描述

可以通过以下两种方式配置是否过滤掉分区表分区路径不存在的分区。

  • 在Spark Driver端的“spark-defaults.conf”配置文件中进行设置。
    表1 参数说明

    参数

    说明

    默认值

    spark.sql.hive.verifyPartitionPath

    配置读取Hive分区表时,是否过滤掉分区表分区路径不存在的分区。

    “true”:过滤掉分区路径不存在的分区;

    “false”:不进行过滤。

    false

  • 在spark-submit命令提交应用时,通过“--conf”参数配置是否过滤掉分区表分区路径不存在的分区。
    示例:
    spark-submit --class org.apache.spark.examples.SparkPi  --conf spark.sql.hive.verifyPartitionPath=true $SPARK_HOME/lib/spark-examples_*.jar