2017-02-15 99 views
1

如何强制spark sql以递归方式从子目录中获取以parquet格式存储的数据?在Hive中,我可以通过设置一些Hive配置来实现此目的。使用Spark SQL查询Hive分区中子目录中的数据

set hive.input.dir.recursive=true; 
set hive.mapred.supports.subdirectories=true; 
set hive.supports.subdirectories=true; 
set mapred.input.dir.recursive=true; 

我试图通过火花SQL查询来设置这些CONFIGS但我得到0记录各个时代相比,蜂巢其得到我预期的结果。我也把这些confs放在hive-site.xml文件中,但没有任何改变。我该如何处理这个问题?

星火版本:2.1.0 我用EMR-5.3.1

顺便说一句,这个问题之一,而实木复合地板使用的文件,同时用JSON它工作正常出现蜂巢2.1.1。

+0

我想弄清楚这个问题的答案我自己。 – IceMan

+0

@IceMan我现在发布了答案,我希望它有帮助 –

回答

1

这个问题的一个解决方案是通过使用配置单元上下文来强制Spark到Hive Parquet阅读器,这将使Spark能够递归地读取文件。