hive資料遷移

2021-09-21 05:55:36 字數 1277 閱讀 5060

網路互通的兩個hadoop集群中,可執行如下命令,將nn1節點所在集群a上目錄a.dir拷貝到nn2節點所在集群b目的b.dir上

hadoop distcp -i hdfs://nn1:8020/a.dir hdfs://nn2:8020/b.dir
詳情參考:

設定預設需要匯出的hive資料庫為defaultdatabase

在原集群中的任意節點上,新建「.hiverc」檔案,加入如下內容:

vi ~/.hiverc

use defaultdatabase;

defaultdatabase可修改為需要遷移的其它名稱

建立資料臨時目錄

hdfs dfs -mkdir /tmp/hive-export
要從hdfs中刪除資料夾,可以使用以下命令:

hadoop fs -rm -r -skiptrash /tmp/hive-export
生成資料匯出指令碼

執行如下命令生成資料匯出指令碼:

hive -e "show tables"

|awk''|

sed"s/@/'/g"

> export.sql

手工匯出資料到hdfs

執行指令碼匯出資料

hive -f export.sql
hdfs dfs -get /tmp/hive-export/

scp -r hive-export/ export.sql root@targetdir

hdfs dfs -put hive-export/ /tmp/hive-export

生成資料匯入指令碼

執行如下命令,複製匯出指令碼,並將指令碼修改為匯入指令碼:

cp export.sql import.sql

sed -i 's/export table/import table/g' import.sql

sed -i 's/ to / from /g' import.sql

匯入資料

hive -f import.sql
以上內容參考

hive資料遷移

資料遷移指令碼 1 在原集群上建立,並設定相應許可權 hadoop fs mkdir tmp hive export 2 生成匯出指令碼 hive e use fangyc show tables awk sed s g export.hql fangyc 是資料庫名,根據實際情況修改 3 手工匯出...

遷移hive資料

新集群的資料遷移到老集群,往往會遇到很多問題 1.小檔案多 2.老集群效能比較差 3.資料量大 使用資料遷移工具nifi 該工具的特點是輕量,對小檔案遷移支援度高,大檔案遷移慢 遇到的問題 1.曾經在老集群寫spark程式合併小檔案,但老集群效能比較低,程式跑了一晚上都沒有合併完成乙個月 2.將小集...

資料遷移 Hive

方式 1 使用hive sql進行資料的匯入匯出 2 export import方式 方式 1 將資料匯出到本地 insert overwrite local directory 路徑 row format delimited fields terminated by select 欄位1,欄位2 ...