📅  最后修改于: 2023-12-03 15:31:06.824000             🧑  作者: Mango
Apache HBase 是一个构建在 Apache Hadoop 上的分布式 NoSQL 数据库。它具有高可用性,强一致性和可扩展性。HBase 通用命令是管理和操作 HBase 群集的基本工具。本文旨在介绍 HBase 通用命令的常见用法。
HBase Shell 是 HBase 官方提供的命令行工具。它提供了各种命令来管理 HBase 表和列族。以下是一些常见的 HBase Shell 命令。
使用以下命令连接到 HBase:
$ hbase shell
该命令将启动 HBase Shell。
使用以下命令关闭 HBase Shell:
hbase(main):001:0> exit
使用以下命令列出所有的表:
hbase(main):001:0> list
该命令将列出 HBase 中所有的表。
使用以下命令创建表:
hbase(main):001:0> create 'table_name', 'column_family'
其中,'table_name' 是要创建的表的名称,'column_family' 是表中列族的名称。可以添加多个列族,用逗号分隔。
使用以下命令删除表:
hbase(main):001:0> disable 'table_name'
hbase(main):002:0> drop 'table_name'
其中,'table_name' 是要删除的表的名称。如果表被禁用(disabled),则必须使用 disable 命令禁用表才能删除它。
使用以下命令插入数据:
hbase(main):001:0> put 'table_name', 'row_key', 'column_family:column_name', 'value'
其中,'table_name' 是要插入数据的表的名称,'row_key' 是行键,'column_family:column_name' 是列的名称,'value' 是要插入的值。
使用以下命令读取数据:
hbase(main):001:0> get 'table_name', 'row_key'
其中,'table_name' 是要读取数据的表的名称,'row_key' 是行键。
使用以下命令扫描数据:
hbase(main):001:0> scan 'table_name'
该命令将扫描表并显示其所有的行和列。
使用以下命令删除数据:
hbase(main):001:0> delete 'table_name', 'row_key', 'column_family:column_name'
其中,'table_name' 是要删除数据的表的名称,'row_key' 是行键,'column_family:column_name' 是列的名称。
除了 HBase Shell 命令,HBase 还提供了 REST 接口来管理和操作 HBase 群集。以下是一些常用的 HBase REST API。
使用以下 URL 列出所有的表:
http://hbase-host:port/table/
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号。
使用以下 URL 创建表:
http://hbase-host:port/table_name/schema
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号,'table_name' 是要创建的表的名称。
使用以下 URL 删除表:
http://hbase-host:port/table_name/schema
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号,'table_name' 是要删除的表的名称。
使用以下 URL 插入数据:
http://hbase-host:port/table_name/row_key/column_family:column_name
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号,'table_name' 是要插入数据的表的名称,'row_key' 是行键,'column_family' 是列族的名称,'column_name' 是列的名称。
使用以下 URL 读取数据:
http://hbase-host:port/table_name/row_key/column_family:column_name
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号,'table_name' 是要读取数据的表的名称,'row_key' 是行键,'column_family' 是列族的名称,'column_name' 是列的名称。
使用以下 URL 扫描数据:
http://hbase-host:port/table_name/scan
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号,'table_name' 是要扫描数据的表的名称。
使用以下 URL 删除数据:
http://hbase-host:port/table_name/row_key/column_family:column_name
其中,'hbase-host' 是 HBase 主机的名称或 IP 地址,'port' 是 HBase REST 服务器的端口号,'table_name' 是要删除数据的表的名称,'row_key' 是行键,'column_family' 是列族的名称,'column_name' 是列的名称。
本文介绍了 HBase 通用命令和 REST API 的常见用法,包括连接到 HBase,创建和删除表,插入、读取、扫描和删除数据等操作。在实际生产环境中,需要根据具体的业务需求和 HBase 实例的配置来选择相应的命令和 API。