hive删除数据文件不存在的表分区

查看数: 11577 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-7-19 15:47

正文摘要:

本帖最后由 Ruach 于 2019-7-19 15:50 编辑 初衷:hive分区表在删除hdfs文件后元数据还没清空,为了不影响后面查询,需要将数据文件不存在的分区删掉,有数据文件存在的表分区要保留着。 目前有两种思路: 1 ...

回复

yaojiank 发表于 2019-7-19 21:32:30
Ruach 发表于 2019-7-19 17:11
刚刚又试了一下,按条件删除分区的语句alter table schema.table_name drop partition (ds

其实能使用方式就足够了。如果非要搞懂,楼主可以看下执行日志,到底那里出错了。

关于beeline与hive cli的区别可参考
hive cli 之于hive 就相当于sql plus之于oracle. 需要和server安装在一起。

而beeline只需要一个jdbc jar包就可以了,可以不需要与hive server 2装在一台server.

他们认证的方式也不同,hive cli可以直接访问hdfs和hive meta store,感觉更稳定快捷一些。

而beeline 则需要把请求提交到hive server2,通过安全验证,然后在队列中等待。

beeline的并发性和安全性得到了提高。


Ruach 发表于 2019-7-19 17:11:57
刚刚又试了一下,按条件删除分区的语句alter table schema.table_name drop partition (ds<'2018-08-01')可以使用;
使用beeline的方式可以执行成功,使用spark-sql的方式执行会报错。
关闭

推荐上一条 /2 下一条