您的位置:首页 > 其它

hive集群间数据迁移,export+import

2017-05-17 16:58 381 查看
官方参考链接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport

The 
EXPORT
 and 
IMPORT
 commands were added in Hive 0.8.0 (see HIVE-1918).

Replication extensions to the 
EXPORT
 and 
IMPORT
 commands were added in Hive 1.2.0 (see HIVE-7973 and Hive
Replication Development).

1.生成导出脚本

beeline -u 'jdbc:hive2://bigdata01.younge.club:10000' -n test-user -p 123456 -e "use bigdata_ods;show tables" | grep 'ods*' | awk '{print $2}' | awk '{printf "export table bigdata_ods.%s to @/tmp/hive_export/%s@;\n",$1,$1}' | sed "s/@/'/g" > hive_export.hql

3.执行导出脚本

beeline -u 'jdbc:hive2://bigdata01.younge.club:10000' -n test-user -p 123456 -f hive_export.hql

4.下载hdfs数据到本地

hdfs dfs -get /tmp/hive_export/

5.压缩生成的本地的hive_export文件夹

tar -czvf hive_export.tar.gz hive_export

6.上传到目标集群并解压缩

tar -xvzf hive_export.tar.gz

7.上传到目标集群的HDFS目录中

hdfs dfs -put hive_export /tmp/hive_export

8.构造导入脚本

cp hive_export.sql hive_import.sql

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

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

9.hive新建目标数据库

create database bigdata_ods;

10.执行导入脚本,导入数据

beeline -u 'jdbc:hive2://bigdata01.younge.club:10000' -n test-user -p 123456 -f hive_import.hql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: