網路互通的兩個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 ...