我在两个集群(west和east)中有一个hbase数据库(带有n个表)。都具有相同的数据库架构。东西方在不同的领域。
如何将每个表中的数据与特定组(如“hr”中的员工)从西向东迁移?
可能的解决方案有:
对于west中的每个表,创建west的快照,然后还原east中的快照,然后删除所有不需要的行(我会丢失所有在东方的数据)
对于west中的每个表,创建快照,并以某种方式将快照与east合并。然后删除所有不需要的行(是否可以将快照合并到现有的hbase?)
对于west中的每个表,创建快照,然后将east中的快照克隆为表-to -merge。通过删除不需要的行来清理表2,然后将表\u快照合并到表\u目标。
对于西部每个表中的每一行,将同一行写入东部(理想,但我需要创建一个脚本来连接两个hdfs集群,这并不容易,因为它们位于两个不同的域上)
1条答案
按热度按时间nwlls2ji1#
这是我的解决方案。。。
快照源hbase db
将源快照传输到hdfs目标
克隆源快照@hdfs destination
从克隆表中删除不需要的行(使用java hbase api)
将克隆表复制/合并到目标表