笔者在hive1.x迁移旧数据到新集群时,使用了export表格的方式,但数据量大的表格会报一个DistCpOption类找不到的错误。探究了一下,数据量大的文件复制时hive会使用distcp的方式,每一个文件会跑一个mr任务,而不是fs -cp的方式,该方式的问题是需要把所有数据都传输到客户端而导致效率比较低。解决该问题有两种思路:
一、直接hadoop环境下的${HADOOP_HOME}/share/hadoop/tools/lib/hadoop-distcp-2.6.0-cdh5.5.0.jar 包复制到hive 的HiveMetaStore进程所在机器的${HIVE_HOME}/lib目录下,然后重启HiveMetaStore进程及客户端进程。
二、直接复制旧hdfs上数据文件到新hdfs上,然后采用load data inpath的方式建立元数据信息。(新旧集群网络不通时,可以省略复制一步)
Hive大数据迁移策略
本文探讨了在Hive1.x中遇到的大数据迁移问题,特别是使用export方式迁移时出现的DistCpOption类找不到的错误。提出了两种解决方案:一是通过复制特定的jar包到HiveMetaStore进程所在机器并重启;二是直接复制旧HDFS数据到新HDFS,再通过loaddatainpath方式建立元数据信息。
1785

被折叠的 条评论
为什么被折叠?



