检查表是否存在

ant*_*ant 5 java hadoop hbase

检查Hbase表是否存在的最快方法是什么?看看这个api:

http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html以下 哪项是最快的:

  1. tableExists
  2. isTableEnabled
  3. isTableAvailable
  4. listTables

使用#4,您将获得所有表的列表并通过它进行迭代,并比较其中一个表是否与您的表名匹配.

还是有另一种更聪明的方式?

sha*_*nan 1

使用 HBaseAdmin.tableExists 只需大约 500ms 即可检查表是否存在。我们的集群中只有两个节点,因此它可能取决于集群的大小,但它看起来并不是不合理的慢。