在開發調試或者生產運維過程中,往往需要去HBase中查詢某條數據。除了使用HBase shell來寫Get、Scan請求,Lindorm insight提供了一個簡單的SQL查詢入口,您可以使用SQL語法來查詢HBase增強版寬表數據。

前提條件

已登錄目標集群的集群管理系統,具體操作,請參見登錄集群管理系統

使用限制

  • 為確保數據安全,本系統每次查詢最多返回100條數據。
  • ROW字段對應Lindorm的RowKey,ROWqualifier都是varbinary類型,qualifier如果不屬于family,需要指定family。
  • ROWCOL是SQL保留字段,查詢時需要加反引號(`)。qualifier指定family時也需要加反引號(`)。

查詢表數據

  1. 在集群管理系統的左側導航欄中,選擇數據查詢 > SQL執行器
  2. namespace下拉列表中選擇命名空間,頁面右側會自動顯示該命名空間中的表。
  3. 在編輯器中輸入SQL語句。
  4. 單擊執行
    執行語句
    說明 執行操作可以通過鍵盤完成。Windows系統:CTRL+ENTER。macOS系統:COMMAND+RETURN。

獲取HexCode編碼字符

對varbinary類型的字段進行條件查詢時,必須使用HexCode編碼的字符串作為Value。例如:查詢rowkey為r1的數據,SQL查詢語句中的WHERE應該寫成WHERE rowkey='7321'(r1的HexCode編碼字符為7321)。為了方便您獲取HexCode編碼字符,集群管理系統的數據查詢頁面提供了轉換工具。

方法一

  1. 在集群管理系統的左側導航欄中,選擇數據查詢
  2. namespace下拉列表中選擇命名空間,頁面右側會自動顯示該命名空間中的表。
  3. 打開HexString開關。
  4. 在編輯器中編寫SQL語句。
  5. 單擊執行
  6. 在執行結果中,獲取已轉換為HexCode編碼字符的值。轉換結果

方法二

  1. 在集群管理系統的左側導航欄中,選擇數據查詢 > SQL執行器
  2. namespace下拉列表中選擇命名空間,頁面右側會自動顯示該命名空間中的表。
  3. 使用以下語句查看目標表的結構。
    SELECT * FROM <table_name>;//使用時,將<table_name>替換為目標表名
  4. Binary hex convertion文本框中,輸入需要轉換為HexCode編碼字符的值。
  5. 在編輯器頂部,獲取轉換結果。獲取轉換值
  6. 在編輯器中編寫SQL語句,并用轉換后的HexCode編碼字符替換轉換前的值。
    例如,原查詢語句如下:
    SELECT * FROM task WHERE ROW = "master_ttl";
    替換后的語句如下:
    SELECT * FROM task WHERE ROW = "6d61737465725f74746c";
  7. 單擊執行