導出hive表結構


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

1、遷移表結構

1)、老hive中導出表結構

1
hive -e "use db;show tables;" > tables.txt
1
2
3
4
5
6
7
#!/bin/bash
 
cat tables.txt | while read eachline
do
hive -e "use klwarehouse;show create table $eachline" >>tablesDDL.txt
echo ";" >> tablesDDL.txt
done  

2)、新hive中導入表結構

1
hive -f tableDDL.txt

  

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

 

2、遷移表數據

目前使用的方案是一個一個將表數據導出到HDFS,接着下載到雲主機中,壓縮,外網傳到新的hive集群網絡中的主機中,解壓,上傳至HDFS,上傳至HIVE

1)、將HIVE表數據導出至HDFS

1
2
hdfs dfs -mkdir /tmp/hive-export<br><br>use db;
export table 表名 to /tmp/hive-export

  

2)、將HDFS數據下載至主機中

1
hdfs dfs -get /tmp/hive-export/

 

3)、將數據壓縮

1
tar -zcvf hivetable1.tar.gz hive-export

  

4)、將數據發送至目標hive集群的內網主機中

1
scp hivetable1.tar.gz root @x .x.x.x:/data  

 

5)、解壓數據

1
tar -zxvf hivetable1.tar.gz

 

6)、將數據上傳至HDFS中

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

  

7)、將HDFS數據上傳至Hive表中

1
2
use db;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM