hive 数据迁移遇到的问题

一、数据迁移流程

目前没有采用官方给定的命令来进行数据迁移,而是使用创建表+copy数据的方式。

二、具体的流程如下

1、从需要被迁移的hive数据库里面把表的执行语句获取出来;
2、修改需要修改的信息(比如名称空间);
3、在目标集群的hive里面执行创建表语句;
4、使用distcp拷贝源hive数据到目标集群。

上述这些可以编写脚本,实现自动化完成,如果开启kerberos,那就把相应的认证加上。

三、遇到的问题

关联HDFS文件 hive并不会自动关联hdfs中指定目录的partitions目录,需要手工操作(一开始没注意到这块,发现在查询数据的时候,死活查询数据为空。)。 通过给已经创建的表增加分区数据的方式,与HDFS上的文件相互关联起来。 语法格式:

alter table 表名称 add partition (分区名1=分区值1,...) location 'HDFS上的文件的路径';

这块也可以全部封装到脚本里面。通过开启多线程模式,迁移还是很快。

posted @ 2021-01-28 12:05  北漂-boy  阅读(399)  评论(0编辑  收藏  举报