Hive中分区表与数据产生关联的方式
关于hive中分区表的概念,不细述了。这里只谈一下如何让hive分区表和数据产生关联?
hive 中先创建一张分区表
往该hive内表对应的hdfs路径上传数据
这时候查看该表的分区:
可以看到并没有 month=202205/tradingday=20220509
分区。
方式一:通过 msck 修复表数据
这时候再查看分区时,可以看到分区已经存在了:
方式二:通过 load 的方式
注意: 如果是 load local 本地的文件时,效果是
复制文件
的效果;但如果是 load hdfs 文件时则是文件移动
的效果
此处先不做测试,后续补上
方式三:通过 alter add parition 方式
这种方式是目前最推荐的方式。
如果你的 hive 内表某个分区对应的 hdfs 路径某个目录下的文件/数据 经常修改,但是分区并没有改变时,如果你用的是 impala 引擎时,你是需要执行 refresh 操作的,切记:refresh 针对的是 数据改动,并不会感知到 分区的修改。
本文来自博客园,作者:LoremMoon,转载请注明原文链接:https://www.cnblogs.com/hello-cnblogs/p/17358305.html