官方参考链接: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.hql3.执行导出脚本
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