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