为什么spark sql会抛出另一个分区位置不存在异常?

时间:2018-01-24 10:25:09

标签: hadoop apache-spark hive

下面是我使用Spark SQL获取配置单元数据的python代码

warehouse_location = 'file:///path/to/warehouse'
spark = SparkSession \
    .builder \
    .config("spark.sql.warehouse.dir", warehouse_location) \
    .enableHiveSupport() \
    .getOrCreate()
spark.sql('select * from tbl where dt='A')

但Spark抛出了一个关于/path/to/warehoues/tbl/dt=B的FileNotFound异常。实际上我创建了分区B并且有一些数据,然后我直接删除了目录B(没有删除分区B)。但是,如果我只在Hive中查询where dt='A',我认为我不会得到任何错误。不重要dt='B'

我没有看到有关Spark SQL的源代码,我猜Spark会扫描整个warehouse.dir并推断架构,因此它会检查有效性。我可以将其静音吗?

0 个答案:

没有答案