【presto】presto通过hive读取hdfs子目录数据问题
团队成员在做存储时遇到一个问题,在hdfs目录写了数据后,使用hive外部表挂载,挂载的目录如下/datamart-kafka-compare-OUT/datamart_kafka_compare_OUT/T_626而实际在T_626目录下还不是文件,还是目录(忽略红框这条,这条是后来从子目录拷贝出来的),如此在presto查询时,使用count查出来数据为0,而hive查询可以查出数据。pres
·
团队成员在做存储时遇到一个问题,在hdfs目录写了数据后,使用hive外部表挂载,挂载的目录如下/datamart-kafka-compare-OUT/datamart_kafka_compare_OUT/T_626
而实际在T_626目录下还不是文件,还是目录(忽略红框这条,这条是后来从子目录拷贝出来的),如此在presto查询时,使用count查出来数据为0,而hive查询可以查出数据。
presto查询略过,数据为0
hive查询结果
为了测试是否是无法读取子目录的问题,把红框这个文件拷贝到表的根目录,再查询,确实有数据了
那么可以判断就是presto无法读取子目录数据的问题了。赶紧网上查找资料,很巧,没查几分钟就出现了类似答案
https://github.com/prestodb/presto/issues/1285
对于presto是否读取子目录有一个配置hive.recursive-directories=true,默认为false,需要显式设置到hive.properties
重启presto,再查询,成功!
更多推荐
已为社区贡献2条内容
所有评论(0)