首页 > 解决方案 > Hive 视图 - 未列出分区

问题描述

我有一个已分区的内部配置单元表。我正在像这样在蜂巢表上创建一个视图:

create view feat_view PARTITIONED ON(partition_dt) AS SELECT col1, partition_dt from features_v2;

这工作正常。但是当我尝试在视图上列出分区时,我得到一个空结果:

show partitions feat_view;;
+------------+--+
| partition  |
+------------+--+
+------------+--+

基表已分区:

show partitions features_v2;;
+--------------------------+--+
|        partition         |
+--------------------------+--+
| partition_dt=2018-11-17  |
+--------------------------+--+

这是为了工作吗?我可以像在基表上一样在视图上列出分区吗?

标签: hivehiveql

解决方案


从 Apache docs看来,似乎不支持显示视图分区。您可以显示物化视图的分区 (Hive 3)。请参阅创建并使用分区物化视图末尾的示例:

CREATE MATERIALIZED VIEW partition_mv_3 PARTITIONED ON (deptno) AS
SELECT emps.hire_date, emps.deptno FROM emps, emps2
  WHERE emps.deptno = emps2.deptno
  AND emps.deptno > 100 AND emps.deptno < 200;

SHOW PARTITIONS partition_mv_3;
+-------------+
|  partition  |
+-------------+
| deptno=101  |
+-------------+

推荐阅读