hive分区验证

js5cn81o  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(359)

我已经创建了一个分区的配置单元表。我在这个表中插入了数据。现在假设我执行一个 select * 查询使用 where 那么如何确保配置单元查询正在使用分区呢?

9fkzdhlc

9fkzdhlc1#

假设您的配置单元数据被拆分到3个分区上,并且每个hdfs分区包含一个不大于一个hdfs块的文件,那么带有where on a partition值的select*将触发一个YarnMap器。
请注意,这种行为可能与tez和llap(hortonworks)或impala(cloudera)等新型Hive引擎不同

6bc51xsx

6bc51xsx2#

您可以通过执行 EXPLAIN EXTENDED 命令。

EXPLAIN EXTENDED select * from mytable where load_date='2018-01-01';

计划中的分区信息如下所示:

Path -> Partition: s3n://bucket_name/mytable/load_date=2018-01-01 
Partition base file name: load_date=2018-01-01 
input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat 
output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat 
partition values: load_date 2018-01-01

相关问题