我在 hive 里有一张table,是按国家划分的。我想排除索马里、伊拉克等3个特定的地区。我不想在where子句中让步(不在‘索马里’,‘伊拉克’)。我们是否有排除特定分区的选项,例如(我们有从select语句中排除列的选项)?。请建议。
uoifb46i1#
您可以删除不需要的分区,
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>;
1条答案
按热度按时间uoifb46i1#
您可以删除不需要的分区,
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>;