1、使用hbase shell命令判断一个表是否存在:
exists ‘tablename’
判断emp、student表是否存在,结果如下:
2、使用python thrift API验证表是否存在,代码如下:
# coding=utf-8
from thrift.transport.TSocket import TSocket
from thrift.transport.TTransport import TBufferedTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
# 主机地址及端口号,端口号默认为9090
host = 'localhost'
port = 9090
# 初始化链接
transport = TBufferedTransport(TSocket(host, port))
transport.open()
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
# 判断表是否存在
tables_list = client.getTableNames()
if "student" in tables_list:
print "student tb is exists."
else:
print "student tb is not exists."
if "empbypy" in tables_list:
print "empbypy tb is exists."
else:
print "empbypy tb is not exists."
transport.close()
程序结果如下:
注:在hbase库中没有发现相关接口,所以通过判断是否在表列表中判断一个表是否存在。