是否可以在不同的HDFS集群中将数据从一个HBASE数据库迁移到另一个



我在两个集群(West和East(中有一个HBASE数据库(带有N个表(。两者都具有相同的DB架构。西方和东方处于不同的领域。

如何将数据从每个表中的特定组(如"人力资源"中的员工(从西方迁移到东方?

可能的解决方案有:

  1. 对于West中的每个表,先创建West的快照,然后恢复East的快照,再删除所有不需要的行。(我会丢失中的所有数据东部(
  2. 对于West中的每个表,创建快照,并以某种方式将快照与East合并。然后删除所有不需要的行。(是否可以将快照合并到现有HBASE?(
  3. 对于West中的每个表,创建快照,然后将East中的快照克隆为table_to_merge。通过删除不需要的行来清理表2,然后将table_snapshot合并到table_target
  4. 对于West中每个表中的每一行,将同一行写入East。(很理想,但我需要创建一个脚本来连接到两个HDFS群集,这并不容易,因为它们位于两个不同的域上(

这毕竟是我的解决方案。。。

  1. 快照源HBase数据库
  2. 将源快照传输到HDFS目标
  3. 克隆源快照@HDFS目标
  4. 从克隆表中删除不需要的行(使用Java HBase API(
  5. 将克隆的表复制/合并到目标表

最新更新