一、hello world
首先,我們需要知道如何啟動hbase shell。在終端上輸入”hbase shell”即可進入hbase shell界面,出現以下信息:
hbase(main):001:0>
這意味着你已經成功進入了hbase shell界面,可以開始與hbase數據庫進行交互。
二、表操作
在hbase中,表是一個非常重要的概念。在hbase shell中,我們可以使用以下命令對錶進行創建、刪除、修改等操作。
1.創建表
使用create命令可以創建一個新的表,並且需要指定表名和列族。列族是表的一部分,用於對錶的數據進行組織。
hbase(main):001:0> create 'mytable', 'cf1', 'cf2'
這樣就創建了一個名為mytable的表,並且包含兩個列族cf1和cf2。
2.查看錶
使用list命令可以列出所有表的詳細信息
hbase(main):001:0> list
3.刪除表
使用disable命令可以禁用表,使用drop命令可以刪除表。
hbase(main):001:0> disable 'mytable' hbase(main):002:0> drop 'mytable'
4.修改表
使用alter命令可以修改表的設置,比如增加列族、刪除列族、修改表的最大版本數目等。
hbase(main):001:0> alter 'mytable', {NAME => 'cf3'}
三、數據操作
在hbase中,數據存儲在表中,以行和列的形式進行組織。在hbase shell中,我們可以使用以下命令對數據進行CRUD操作。
1.插入數據
使用put命令可以將數據插入到表中。在插入數據時,需要指定表名、行鍵、列族、列名以及值。
hbase(main):001:0> put 'mytable', 'row1', 'cf1:col1', 'value1'
2.查找數據
使用get命令可以根據行鍵和列族獲取數據。
hbase(main):001:0> get 'mytable', 'row1' hbase(main):002:0> get 'mytable', 'row1', {COLUMN => 'cf1:col1'}
3.掃描數據
使用scan命令可以掃描表中的數據,並且可以指定行範圍、列族等參數。
hbase(main):001:0> scan 'mytable' hbase(main):002:0> scan 'mytable', {COLUMNS => ['cf1'], LIMIT => 10}
4.刪除數據
使用delete命令可以刪除表中的數據。
hbase(main):001:0> delete 'mytable', 'row1', 'cf1:col1'
四、HBase過濾器
在hbase shell中,可以使用不同類型的過濾器來過濾表格中的數據。
1.前綴過濾器
使用PrefixFilter命令可以通過前綴來過濾表格中的數據。
hbase(main):001:0> scan 'mytable', {FILTER => "PrefixFilter('row1')"}
2.列值過濾器
使用SingleColumnValueFilter命令可以通過比較列的值來過濾表格中的數據。
hbase(main):001:0> scan 'mytable', {FILTER => "SingleColumnValueFilter('cf1','col1',>, 'binary:value2')"}
3.行鍵過濾器
使用RowFilter命令可以通過比較行鍵來過濾表格中的數據。
hbase(main):001:0> scan 'mytable', {FILTER => "RowFilter(=,'substring:row1')"}
4.組合過濾器
使用FilterList命令可以組合多種過濾器來進行綜合過濾。
hbase(main):001:0> scan 'mytable', {FILTER => "FilterList([PrefixFilter('row1'), SingleColumnValueFilter('cf1','col1',>, 'binary:value2')])"}
五、HBase命令行編程
在hbase shell中,我們可以使用Ruby等語言進行編程,以便更加靈活地操作hbase數據庫。
hbase(main):001:0> require 'java' hbase(main):002:0> import org.apache.hadoop.hbase.HBaseConfiguration hbase(main):003:0> import org.apache.hadoop.hbase.client.HBaseAdmin hbase(main):004:0> config = HBaseConfiguration.create() hbase(main):005:0> admin = HBaseAdmin.new(config) hbase(main):006:0> admin.listTables()
以上代碼就使用了Ruby語言來獲取當前hbase數據庫中的所有表名。
原創文章,作者:WSWT,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/136635.html