impala 資料表在叢集間遷移方案

babyyellow發表於2022-11-01


  1. 登入到神策機器
  2. impala-shell -q "use rawdata;SHOW PARTITIONS  event_ros_p2(表名);" -B -o event_ros_2_partition.txt
    倒出表的分割槽資訊,最後一列是資料存放的目錄
    18391  10  -1  1  6.08KB  NOT CACHED  NOT CACHED  PARQUET  false   /sa/data/2/event/18391/10/.snapshot/20200520_011300-0-1589908380847
  3. impala-shell -q "use rawdata;show create table  event_ros_p2(表名);" -B -o event_ros_p2.sql 匯出建表指令碼
  4. 把資料取到本地的目錄使用 hadoop fs -get  /sa/data/2/event/18391/10/.snapshot/20200520_011300-0-1589908380847  本地目錄
    可以整個目錄取,但會有一下沒有的臨時檔案

  5. 使用tar cvf data.tar  本地目錄 打包

  6. 使用scp 複製到新叢集, tar xvf 包檔名 解包

  7. hadoop fs -put 上傳到dfs 對應目錄

  8. 在新叢集impala-shell 裡面用建表指令碼建表

  9. 使用命令增加分割槽 ALTER TABLE event_2 ADD PARTITION (day=19291,event_bucket=0) location '/sa/data/2/event/19291/0/20221027_111536-0-1666840536392';

  10. 進入impala-shell 進行設定 set PARQUET_FALLBACK_SCHEMA_RESOLUTION=name 才能正常查詢


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2921261/,如需轉載,請註明出處,否則將追究法律責任。

相關文章