如果我们在运行时在HBase中创建NameSpace和Tables,它会影响应用程序的性能吗?

时间:2018-07-27 12:36:48

标签: java hadoop namespaces hbase

我们正在运行时创建命名空间和几个表(5至6),创建整个结构需要10到15秒的时间。是否建议在HBase的运行时创建表?

1 个答案:

答案 0 :(得分:1)

通常,建议不要在运行时在应用程序代码中创建HBase表或更改列系列。首先,除非您明确地告诉客户,否则当表准备好进行读写时,客户端将一无所知。这可能会增加系统的复杂性。同时,例如,该系统的整体可用性是有问题的。修改ColumnFamily时必须禁用表。其次,HBase故事的模式对于性能和功能非常重要。它需要仔细的设计,并且在应用程序读取和写入表之前,应由用户充分理解。

但是,如果 1。您具有非常清晰的架构设计,并且 2。。创建表的代码由预配置的控制平面(而不是在应用程序中)运行业务逻辑),则可以在运行时使用Admin Java API创建表。