HIve中分割槽資料關聯的三種方式
阿新 • • 發佈:2019-01-07
之前的分割槽表都是先建立表然後載入資料到分割槽表中,然後就會在HDFS自動建立相關的目錄儲存資料,但是這裡反過來做,先在HDFS中建立相應的目錄,然後把資料直接上傳到這個目錄下,具體如下所示
先在HDFS中建立存放資料的目錄
dfs -mkdir -p /user/hive/warehouse/ys.db/test/month=201809/day=02;
然後直接上傳資料到該目錄下
dfs -put /opt/package/hive/txt/dept.txt /user/hive/warehouse/ys.db/test/month=201809/day=02;
這時候查詢資料會發現沒有資料,只有相應的欄位
這是因為分割槽表與資料還沒有關聯起來,下面有3中方法進行關聯
1.執行修復命令
msck repair table test;
2.執行新增分割槽
alter table test add partition(month='201809', day='02');
3.load資料到分割槽
load data local inpath '/opt/package/hive/txt/dept.txt' into table test partition(month='201809',day='02');
這時候再查詢資料就會查到了