Hive中分区表与数据产生关联的方式

关于hive中分区表的概念,不细述了。这里只谈一下如何让hive分区表和数据产生关联?

hive 中先创建一张分区表

往该hive内表对应的hdfs路径上传数据

这时候查看该表的分区:

可以看到并没有 month=202205/tradingday=20220509 分区。

方式一:通过 msck 修复表数据

这时候再查看分区时,可以看到分区已经存在了:

方式二:通过 load 的方式

注意: 如果是 load local 本地的文件时,效果是 复制文件 的效果;但如果是 load hdfs 文件时则是 文件移动 的效果

此处先不做测试,后续补上

方式三:通过 alter add parition 方式


这种方式是目前最推荐的方式。


如果你的 hive 内表某个分区对应的 hdfs 路径某个目录下的文件/数据 经常修改,但是分区并没有改变时,如果你用的是 impala 引擎时,你是需要执行 refresh 操作的,切记:refresh 针对的是 数据改动,并不会感知到 分区的修改。

posted @ 2023-04-27 10:47  LoremMoon  阅读(79)  评论(0编辑  收藏  举报