码迷,mamicode.com
首页 > 其他好文 > 详细

hive跨集群迁移表

时间:2019-11-19 15:46:28      阅读:380      评论:0      收藏:0      [点我收藏+]

标签:har   内容   jar   return   exec   tab   pop   str   创建目录   

一、原集群操作:

1、hdfs创建目录
hdfs dfs -mkdir /tmp/hive-export

2、hive导出表命令
hive -e "use 库;show tables" | awk ‘{printf "use 库;export table %s to @/tmp/hive-export/%s@;\n",$1,$1}‘ | sed "s/@/‘/g" > export.sql

3、报错
return code -101 from org.apache.hadoop.hive.ql.exec.copytask org/apache/hadoop/tools/distcpoptions
使用 -hiveconf hive.root.logger=DEBUG,console 参数打印错误信息,有如下内容:
java.lang.NoClassDefFoundError: org/apache/hadoop/tools/DistCpOptions

4、原因
hive 最后移动数据的时候,需要调用hadoop-distcp-X.X.X.jar,
解决方法:只需要把$HADOOP_HOME/share/hadoop/tools/lib/hadoop-distcp-x.x.x.jar 拷贝到 $HIVE_HOME/lib下面,重启hive即可

5、继续执行2命令

6、hive导出数据到hdfs
hive -f export.sql

二、新集群操作

1、hdfs创建目录
hdfs dfs -mkdir /tmp/hive-export

2、将hdfs数据导入到新集群
hadoop distcp hdfs://原/tmp/hive-export/* /tmp/hive-export

3、修改export.sql
sed -i ‘s/export table/import table/g‘ export.sql
sed -i ‘s/ to / from /g‘ export.sql

4、执行导入还会报错,按照之前解决方法解决

5、hive导入
hive -f export.sql

hive跨集群迁移表

标签:har   内容   jar   return   exec   tab   pop   str   创建目录   

原文地址:https://www.cnblogs.com/water-sky/p/11889820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!