我有按日期,app_name,src(3个分区)划分的配置单元表
我想以多种方式触发显示分区命令
// works
show partitions mydb.tab_dt partition(date='2017-05-01');
// works
show partitions mydb.tab_dt partition(date='2017-05-01'/app_name='app_io'/src='mobile');
当我需要在partition子句中进行一些过滤时,我无法使其工作。下面是我正在尝试的一些示例。
// doesn't work
show partitions mydb.tab_dt partition(date>='2017-05-01');
// doesn't work
show partitions mydb.tab_dt partition(date='2017-05-01'/app_name like '%app%');
// doesn't work
show partitions mydb.tab_dt partition(app_name like '%app%'/src='mobile');
我希望我已经阐明了我的问题。
答案 0 :(得分:1)
目前看来这是不可能的,但是will be after Hive 4.0.0.
文档here中介绍了当前的可能性。
但是,我最终要做的是使用 hive -e 运行SHOW PARTITIONS,然后使用grep过滤结果。
答案 1 :(得分:0)
要查找特定分区,您可以使用 hive shell 获取分区,然后使用 grep 提取特定分区。这对我来说效果很好。
hive -e 'show partitions db.tablename;' | grep 202101*
hive -e 'show partitions db.tablename partition (type='abc');' | grep 202101*