日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過Lindorm Shell訪問寬表引擎

Lindorm Shell是Lindorm提供的HBase客戶端工具。Lindorm Shell基于HBase Java API連接Lindorm寬表引擎,進行創建表、插入、查詢等數據操作。本文介紹如何下載Lindorm Shell并連接Lindorm寬表引擎。

前提條件

  • 已安裝Java環境,要求安裝JDK 1.8及以上版本。

  • 已將客戶端IP地址添加至云原生多模數據庫 Lindorm實例的白名單中,添加方法請參見設置白名單

注意事項

  • 通過Lindorm Shell連接Lindorm寬表引擎僅支持簡單的DDL操作和數據讀寫操作,不支持的操作請參見HBase API使用限制

  • 請勿使用HBase API的方式去訪問基于SQL創建的寬表,可能會出現亂碼。

  • 推薦在Linux或者macOS操作系統使用Lindorm Shell。

    在Windows系統使用Lindorm Shell時,可能會遇到報錯或缺少庫的問題,請根據報錯信息自行在系統中添加相應的庫。

操作步驟

  1. 下載Lindorm Shell工具。

    1. Lindorm管理控制臺左上角,選擇實例所屬的地域。在實例列表頁,單擊目標實例ID。

    2. 在左側導航欄單擊數據庫連接,單擊寬表引擎頁簽。

    3. 單擊HBase兼容地址,然后單擊Lindorm Shell下載

  2. 執行命令解壓Lindorm Shell壓縮包,將壓縮包解壓至目標文件(以alihbase-2.0.18文件為例)。

    tar zxvf hbaseue-shell.tar.gz
  3. 配置連接參數。

    1. 進入alihbase-2.0.18/conf目錄,打開hbase-site.xml文件。

      vi hbase-site.xml
    2. 配置Lindorm寬表引擎的連接地址和用戶名密碼。

      <configuration>
          <property>
              <name>hbase.zookeeper.quorum</name>
              <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value>
          </property>
          <property>
              <name>hbase.client.username</name>
              <value>testuser</value>
          </property>
          <property>
              <name>hbase.client.password</name>
              <value>password</value>
          </property>
      </configuration>

      參數說明:

      • hbase.zookeeper.quorum:Lindorm寬表引擎的使用HBase Java API訪問連接地址。

        • 專有網絡地址:適用于Lindorm Shell安裝在ECS實例上,且ECS實例與Lindorm實例位于同一VPC。

        • 公網地址:適用于Lindorm Shell安裝在本地,或安裝在ECS實例但ECS與Lindorm實例不在同一VPC。

      • hbase.client.usernamehbase.client.password:訪問Lindorm寬表引擎的用戶名和密碼。如果忘記密碼,可以通過寬表引擎的集群管理系統修改密碼,具體操作請參見修改用戶密碼

  4. 通過Lindorm Shell訪問Lindorm寬表引擎。

    進入alihbase-2.0.18/bin目錄執行以下命令。

    ./hbase shell

    返回如下信息表示訪問成功。

    Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb  1 12:46:39 CST 2021
    Took 0.0034 seconds
    說明

    Shell的使用方法,請參見Lindorm Shell參考

Lindorm Shell參考

命令參考

Shell的使用命令更多請參見Apache HBase Shell介紹

數據定義語言

  • create:創建表。

  • list:展示所有表。

  • disable:禁用表。

  • is_disabled:驗證表是否被禁用。

  • enable:啟用表。

  • is_enabled:驗證表是否已啟用。

  • describe:展示指定表的詳細信息,包括表屬性、表結構等。

  • alter:修改表。

  • exists:用于驗證表是否存在。

  • drop:刪除指定表。

數據操作語言

  • put:用于更新特定單元格中的值。

  • get:用于獲取指定行或單元格的內容。

  • delete:用于刪除表中單元格的值。

  • deleteall:用于刪除指定行的所有單元格。

  • scan:用于掃描并返回表數據。

  • count:用于計算并返回表中的行數。

  • truncate_preserve:清空表中的數據,其內部實現是將指定的表下線和刪除,再進行重建,并且Region分區與舊表保留一致。

進入和退出Shell環境

  • 進入Shell環境。

    bin/hbase shell
  • 退出Shell環境。

    quit

操作參考

建表并插入數據

  1. 創建表。創建時必須輸入表和列族的名稱。

    create '表名', '列族名'

    示例如下:

    //創建一個名稱為test,列族名為cf的表
    create 'test', 'cf'
  2. 插入數據。

    put '表名', 'Rowkey', '列族名:列名', '數值'

    示例如下:

    put 'test', 'row1', 'cf:a', 'value1'
    put 'test', 'row2', 'cf:b', 'value2'
    put 'test', 'row3', 'cf:c', 'value3'
    說明

    row1為表test的Rowkey,cf:a表示自定義列的列族名和列名,value1為值。

查詢

  • 查詢所有表的信息。支持使用正則表達式來過濾表。

    list
    list 'abc.*'
    list 'test'
  • 查詢指定表的數據。

    scan是一種訪問HBase數據的方式,它非常的靈活,scan操作可以用來掃描全表或查詢固定范圍的數據。查詢速度會比查詢單條(使用get)數據略慢一些。執行以下語句可以查詢test表的數據。

    scan '表名'

    示例如下:

    scan 'test'

    返回結果:

    ROW                                      COLUMN+CELL
     row1                                    column=cf:a, timestamp=1421762485768, value=value1
     row2                                    column=cf:b, timestamp=1421762491785, value=value2
     row3                                    column=cf:c, timestamp=1421762496210, value=value3
    3 row(s) in 0.0230 seconds
  • 查詢表的單條數據。

    get '表名', 'Rowkey' 

    示例如下:

    get 'test', 'row1' 

    返回結果:

    COLUMN CELL
     cf:a timestamp=1421762485768, value=value1
    1 row(s) in 0.0350 seconds

禁用和啟用表

禁用和啟用指定表。如果您想要對一張表執行刪除、修改設置或其他操作,請先使用disable命令禁用這張表。在刪除或者修改配置完成后,再使用enable命令啟用表,重新使用這張表。

disable '表名'
enable '表名'

刪除表

刪除指定表。

drop '表名'

常用配置參考

常用配置

  • 為指定表設置Major Compaction周期(無特殊情況下不建議自行設置),單位為毫秒(ms)。

    以下示例設置Major Compaction周期為7天。

    alter '表名', {NAME => '列族名', CONFIGURATION => {'hbase.hregion.majorcompaction' => 16800000}}
    說明

    默認值:Math.Min(TTL,1728000000ms)。如果不設置TTL,該參數系統默認設置的是20天(20*24*60*60*1000ms=1728000000ms)。

  • 為指定表的列族設置數據壓縮算法。

    alter '表名', NAME => '列族名', COMPRESSION => 'ZSTD'
  • 為指定表的列族設置Block Encoding類型。

    將test表列族的Block Encoding類型設置為DATA_BLOCK_ENCODING。

    alter '表名', NAME => '列族名', DATA_BLOCK_ENCODING => 'DIFF'
  • 為指定表的列族設置數據有效期TTL。TTL單位為秒(s),例如2592000s=30天。

    alter '表名', NAME => '列族名', TTL => 2592000

    如果想要取消數據有效期,即永久保留數據,可以將TTL的值設置為FOREVER,示例代碼如下:

    alter '表名' , {NAME => '列族名', TTL => 'FOREVER'}
  • 為指定表設置預分區。

    create'表名',{NAME => '列族名',COMPRESSION => 'snappy' }, { NUMREGIONS => 50, SPLITALGO => 'HexStringSplit' }

    參數說明

    字段

    描述

    NAME

    HBase表的列族名稱。

    COMPRESSION

    HBase表的數據壓縮方式。無默認壓縮算法。可選的壓縮算法共以下三種:

    • ZSTD(推薦

    • SNAPPY

    • LZ4

    NUMREGIONS

    分片的個數。一般按照每個分片使用6~8 GB的存儲量來計算分片數量。如果實例規模較大,分片數量可以按需設置多個。

    SPLITALGO

    初始化分區的算法。HBase表支持以下三種分割算法每個分割算法的適用場景如下描述:

    • HexStringSplit:適用于以十六進制的字符串作為前綴的Rowkey。

    • DecimalStringSplit:適用于以十進制的數字字符串作為前綴的Rowkey。

    • UniformSplit:適用于Rowkey的前綴是完全隨機的。

修改配置后,您可以通過以下語句驗證是否修改成功:

describe '表名'