📅  最后修改于: 2023-12-03 14:41:42.253000             🧑  作者: Mango
HBase是基于Hadoop平台的分布式列式存储系统,可用于管理大规模的结构化和半结构化数据。
HBase的安装需要先安装Hadoop,并根据Hadoop的版本选择对应版本的HBase进行安装。
具体安装步骤请参考HBase官方文档
HBase的数据模型非常简单,数据存储在表格中,表格由行和列组成。
HBase提供了Shell命令行界面,方便我们进行操作。
bin/hbase shell
list
create 'table_name', 'column_family'
put 'table_name', 'row_key', 'column_family:column_qualifier', 'value'
get 'table_name', 'row_key'
delete 'table_name', 'row_key', 'column_family:column_qualifier'
disable 'table_name'
,然后drop 'table_name'
HBase提供了Java API,可用于程序化地进行操作。
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "localhost");
conf.set("hbase.zookeeper.property.clientPort", "2181");
HBaseAdmin admin = new HBaseAdmin(conf);
HTableDescriptor tableDesc = new HTableDescriptor("table_name");
tableDesc.addFamily(new HColumnDescriptor("column_family"));
admin.createTable(tableDesc);
HTable table = new HTable(conf, "table_name");
Put put = new Put(Bytes.toBytes("row_key"));
put.add(Bytes.toBytes("column_family"), Bytes.toBytes("column_qualifier"), Bytes.toBytes("value"));
table.put(put);
HTable table = new HTable(conf, "table_name");
Get get = new Get(Bytes.toBytes("row_key"));
Result result = table.get(get);
byte[] value = result.getValue(Bytes.toBytes("column_family"), Bytes.toBytes("column_qualifier"));
HTable table = new HTable(conf, "table_name");
Delete delete = new Delete(Bytes.toBytes("row_key"));
delete.deleteColumn(Bytes.toBytes("column_family"), Bytes.toBytes("column_qualifier"));
table.delete(delete);
HBaseAdmin admin = new HBaseAdmin(conf);
admin.disableTable("table_name");
admin.deleteTable("table_name");
HBase是一个非常强大的分布式列式存储系统,可以用于管理大规模的结构化和半结构化数据。我们可以使用HBase Shell或Java API进行操作。