HBase删除表

来源:互联网 发布:怎么在淘宝上捡漏 编辑:程序博客网 时间:2024/05/29 02:25

1、通过hbase shell删除一个表,首先需要将表禁用,然后再进行删除,命令如下:

disable 'tablename'drop 'tablename'

删除emp表,并且验证是否删除,结果如下:
这里写图片描述
删除所有匹配的表,首先将要删除的所有表禁用,命令如下:

disable 'table.x'drop 'table.x'

假如有一些表以tab开头,通过如下操作,可以将这些表全部删除:

disable_all 'tab.*'drop_all 'tab.*'

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()    print tables_list    # 根据名称,删除一个表    if client.isTableEnabled('emp'):        client.disableTable('emp')        client.deleteTable('emp')    else:        client.deleteTable('emp')    tables_list = client.getTableNames()    print tables_list    transport.close()

python thrift API中没有删除多个表的接口,可以通过遍历删除的方式删除多个表。

原创粉丝点击