遷移hive表及hive資料

2022-01-31 00:58:42 字數 1072 閱讀 9635

公司hadoop集群遷移,需要遷移所有的表結構及比較重要的表的資料(跨雲服務機房,源廣州機房,目標北京機房)

1、遷移表結構

1)、老hive中匯出表結構

hive -e "use db;show tables;" > tables.txt

#!/bin/bash

cat tables.txt |while read eachline

dohive -e "use klwarehouse;show create table $eachline" >>tablesddl.txt

echo ";" >> tablesddl.txt

done

2)、新hive中匯入表結構

hive -f tableddl.txt

對了,執行之前要先建立db,然後在tableddl.txt前面加上use db;

2、遷移表資料

1)、將hive表資料匯出至hdfs

hdfs dfs -mkdir /tmp/hive-export

use db;

export table 表名 to /tmp/hive-export

hdfs dfs -get /tmp/hive-export/

3)、將資料壓縮

tar -zcvf hivetable1.tar.gz hive-export

4)、將資料傳送至目標hive集群的內網主機中

scp hivetable1.tar.gz [email protected]:/data

5)、解壓資料

tar -zxvf hivetable1.tar.gz

6)、將資料上傳至hdfs中

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

7)、將hdfs資料上傳至hive表中

use db;

import table 表名 from /tmp/hive-export

hive資料遷移

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

hive資料遷移

網路互通的兩個hadoop集群中,可執行如下命令,將nn1節點所在集群a上目錄a.dir拷貝到nn2節點所在集群b目的b.dir上 hadoop distcp i hdfs nn1 8020 a.dir hdfs nn2 8020 b.dir詳情參考 設定預設需要匯出的hive資料庫為default...

遷移hive資料

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