【发布时间】:2019-05-09 20:26:41
【问题描述】:
我在 hive 中有一个根据国家/地区分区的表。 我想排除 3 个特定分区,例如索马里、伊拉克。 我不想在 where 子句中给出(不是在 'somalia'、'iraq' 中)。 我们是否可以选择排除特定分区,例如(我们从 select 语句中排除列)?
请提出建议。
【问题讨论】:
我在 hive 中有一个根据国家/地区分区的表。 我想排除 3 个特定分区,例如索马里、伊拉克。 我不想在 where 子句中给出(不是在 'somalia'、'iraq' 中)。 我们是否可以选择排除特定分区,例如(我们从 select 语句中排除列)?
请提出建议。
【问题讨论】:
您可以删除不需要的分区,
hive> alter table <db_name>.<table_name> drop partition
(<partition_filed>="somalia"),(<partition_filed>="iraq");
(or)
通过排除不需要的分区来创建表顶部视图。
hive> create view <db_name>.<view_name> as select * from <db_name>.<table_name>
where <partition_filed> not in ("somalia","iraq");
hive> select * from <db_name>.<view_name>;
【讨论】: