Lindorm寬表引擎在集群管理系統中提供了SQL查詢入口,您可以使用SQL語法來查詢Lindorm寬表數據。本節介紹通過集群管理系統查詢寬表數據。
前提條件
已登錄目標實例的集群管理系統,具體操作請參見登錄集群管理系統。
使用限制
為確保數據安全,本系統每次查詢最多返回100條數據。
ROW
字段對應Lindorm的RowKey,ROW
和qualifier
都是varbinary類型,qualifier
如果不屬于family,需要指定family。ROW
和COL
是SQL保留字段,查詢時需要加反引號(`)。qualifier
指定family時也需要加反引號(`)。
數據查詢(兼容HBase)
數據查詢(兼容HBase)界面支持查詢指定表的詳細信息,也支持為已有的表新增相關屬性。
查詢已有數據
支持查詢SQL表和HBase表中已有的數據。
在集群管理系統的左側導航欄中,選擇
。設置篩選條件,包括namespace和表。
可選:輸入列簇、row key、start key(分區起始Key)、end key(分區終止Key)和limit(顯示條數)。
單擊查詢,界面將展示目標表中的已有數據。
添加HBase數據
數據添加操作僅針對HBase表,SQL表不支持通過此操作添加數據。
單擊添加。
在添加表數據對話框中,輸入以下參數:
參數
說明
row key
HBase表的RowKey名稱。
列名稱
需要新增的列名稱,填寫時必須指定列簇。格式為
<列簇名:列名>
,例如f:name
。時間戳
僅支持寫入Unix時間戳。
數據值
支持的數據類型,請參見基礎數據類型。
單擊確定,添加一行數據。
修改已有數據
支持修改SQL表和HBase表中已有的數據。
單擊目標行操作列中的編輯。
在編輯表數據對話框中,修改時間戳和數據值。
單擊確定,保存修改后的數據。
SQL執行器
在集群管理系統的左側導航欄中,選擇
。在namespace下拉列表中選擇命名空間,頁面右側會自動顯示該命名空間中的表。
可選:獲取HexCode編碼字符。具體操作,請參見獲取HexCode編碼字符。
在編輯器中輸入SQL語句。
單擊執行。
說明執行操作也可以通過組合鍵完成。Windows系統:CTRL+ENTER。macOS系統:COMMAND+RETURN。
獲取HexCode編碼字符
在查詢HBase中指定ROW的數據,或對Varbinary類型的字段進行條件查詢時,必須使用HexCode編碼的字符串作為Value。例如:查詢RowKey為r1的數據,SQL查詢語句中的WHERE
應該寫成WHERE rowkey='7321'
(r1的HexCode編碼字符為7321)。為了方便您獲取HexCode編碼字符,集群管理系統的數據查詢頁面提供了轉換工具。
在集群管理系統的左側導航欄中,選擇
。在namespace下拉列表中選擇命名空間,頁面右側會自動顯示該命名空間中的表。
獲取HexCode編碼字符轉化結果。
方法一:點擊執行查看目標表的結構,將目標字符串輸入到字符串轉換十六進制文本框中,在編輯器頂部獲取轉換結果。
方法二:打開HexString開關后,點擊執行,在執行結果中獲取已轉換為HexCode編碼字符的值。
在編輯器中編寫SQL語句,并用轉換后的HexCode編碼字符替換轉換前的值。
假設原查詢語句為
SELECT * FROM task WHERE ROW = "xxxx1";
,則替換后的語句為SELECT * FROM task WHERE ROW = "7878787831";
。
單擊執行。