hive中怎样删除分区
发布网友
发布时间:2022-04-21 08:27
我来回答
共2个回答
懂视网
时间:2022-04-13 21:31
在开发了hive的udf udaf udtf函数的jar文件后,需要将jar文件放入hive的环境中才可以使用。可以通过以下三种方法加入:
在开发了hive的udf udaf udtf函数的jar文件后,,需要将jar文件放入hive的环境中才可以使用。可以通过以下三种方法加入:
1. 使用add jar path/test.jar;方法加入
该方法的缺点是每次启动Hive的时候都要从新加入,退出hive就会失效。
2. 通过设置hive的配置文件hive-site.xml 加入
在配置文件中增加配置
hive.aux.jars.path
file:///jarpath/all_new1.jar,file:///jarpath/all_new2.jar
保存即可。
该方法比第一种方法方便很多。不需要每次启动Hive执行命令加入,只是配置稍微复杂一些。
3. 在${HIVE_HOME中创建文件夹auxlib ,然后将自定义jar文件放入该文件夹中。
个人推荐这种方法,方便快捷。
热心网友
时间:2022-04-13 18:39
准备好环境,小编这边环境已经有了,就不讲解如何搭建环境,毕竟搭建一套大数据需要一段时间的。
准备一个分区表
show partitions 表名
方法1:使用hive自带sql语法进行删除
alter table 表名 drop partition (etl_dt=20161118);
再次查看20161118分区还在不在,如果分区不在了,说明该分区已经被删除,数据也已被清空。
show partitions 表名;
方法2:采用hdfs命令进行清空
这个表还剩下一个分区,咱们把这个分区也清空。
先使用hdfs查看该表实际分区以及数据目录在哪
hdfs dfs -ls /user/hive/warehouse/tbdata.db/表名小写/
或者
hadoop fs -ls /user/hive/warehouse/tbdata.db/表名小写/
两个命令效果一样
使用hdfs命令删除该分区20161124目录
hdfs dfs -rm -r -f /user/hive/warehouse/tbdata.db/表名小写/etl_dt=20161124
最后在查看没有分区目录了
最查看进hive命令行查看此表是否还有数据