hive数据迁移实例

2020-09-14  本文已影响0人  程序员的交流电

公司要完成hive数据迁移
1.创建hdfs临时文件夹来保存数据

hdfs  dfs  -mkdir /test
  1. 生成数据导出脚本
    执行以下的命令,生成数据导出的脚本
hive -e "set hive.cli.print.header=false;use test;show tables" | awk '{printf "export table %s to /tmp/hive-export/%s;\n",$1,$1}' > export.sql

3.执行导出脚本

hive  -f  export.sql

4.传递数据
这里可以下载数据到本地进行传输,或是使用hadoop distcp,关键在于网络是否联通

# 网络联通
hadoop distcp  -skipcrccheck -update hdfs://master001:9000/test  hdfs://master002:9000/test

-skipcrccheck 省略crc检查,如果hadoop版本一样,可以不加,如果低版本向高版本迁移的话,最好带上
-update 增量更新,通过文件名称,大小比较,源文件和目标文件不同则更新

#网络不连通
hdfs dfs -get /tmp/hive-export/
scp -r hive-export/ export.sql master002
hdfs dfs -put hive-export/ /tmp/hive-export

5.生成数据导入脚本

cp export.sql import.sql
sed -i 's/export table/import table/g' import.sql
sed -i 's/ to / from /g' import.sql

6.导入数据

hive -f import.sql 
上一篇下一篇

猜你喜欢

热点阅读