HBase从源重新加载表数据-对用户透明

HBase从源重新加载表数据-对用户透明,hbase,Hbase,我们当前的进程从源获取数据,禁用、删除并重新创建HBase表,然后在表中加载新数据 因此,当表没有数据/数据不完整时,有一定的时间 有没有一种方法可以在HBase中重新加载表数据而不存在这种不一致性 我正在考虑用新数据创建一个stage表,并将stage表重命名为main表。这可以使用HBase中的快照功能来完成,但即使这样,也需要禁用、删除现有表,这仍然会导致该表“不透明”这基本上是一种错误的设计。应用程序不应定期删除和重新创建HBase表。您是否检查过HBASE TTL是否可以满足您的需求?

我们当前的进程从源获取数据,禁用、删除并重新创建HBase表,然后在表中加载新数据

因此,当表没有数据/数据不完整时,有一定的时间

有没有一种方法可以在HBase中重新加载表数据而不存在这种不一致性


我正在考虑用新数据创建一个stage表,并将stage表重命名为main表。这可以使用HBase中的快照功能来完成,但即使这样,也需要禁用、删除现有表,这仍然会导致该表“不透明”

这基本上是一种错误的设计。应用程序不应定期删除和重新创建HBase表。您是否检查过HBASE TTL是否可以满足您的需求?我知道HBASE TTL,但无法使用它,因为我需要在有新数据可用时完全删除旧数据。TTL将指定固定的保留天数,这意味着新数据可用后旧数据可能仍然存在。我理解,但根据我的说法,这不是HBase的正确用法。只需使用SQL数据库即可满足此类需求