Hbase shell的基本操作

HBase的命令行工具,最簡單的接口,適合HBase管理使用,可以使用shell命令來查詢HBase中數據的詳細情況。安裝完HBase之后,啟動hadoop集群(利用hdfs存儲),啟動zookeeper,使用start-hbase.sh命令開啟hbase服務,最后在shell中執行hbase shell就可以進入命令行界面

  Habse shell的help對語法的介紹很全,hbase shell 的操作分為 10類,j本文只介紹前4類常用的,分別是:gerneral,ddl,namespace,dml

  1. Gerneral

  status:查詢當前服務器狀態。

  Version:查看當前版本

  Whoami:查詢當前hbase用戶

  Table_help:表的引用,通過獲取一張表的引用來對這張表進行添加刪除數據等等操作,現在不推薦使用

  2. DDL

  Create:創建一個表

  ###創建一個表名為qianfeng,cf為列族

  create 'qianfeng','cf'

  list:列出HBase的所有表

  · disable:禁用一張表

  · ##禁用表‘qianfeng’

  · disable ‘qianfeng’

  · is_disabled:表是否被禁用

  · ##驗證表‘qianfeng’是否被禁用

  · is_disabled ‘qianfeng’

  ·

  · enable: 啟用一張表

  · ##啟用表‘qianfeng’

  · enable ‘qianfeng’

  · is_enabled:表是否被啟用

  · ##驗證表‘qianfeng’是否被啟用

  · is_enabled ‘qianfeng’

  ·

  · describe:查看表的描述

  · ##查看‘qianfeng’表的描述信息

  · describe ‘qianfeng’

  ·

  · alter:修改表的結構

  · ##給表‘qianfeng’加入一個列族‘cf1’

  · alter ‘qianfeng’,’cf1’

  ·

  · exists:驗證表是否存在

  · ##驗證表‘qianfeng’是否存在

  · exists ‘qianfeng’

  ·

  · drop:刪除表,表需先禁用,然后才能刪除

  · ##刪除表‘qianfeng’

  · disable ‘qianfeng’

  · drop ‘qianfeng’

  ·

  · disable_all:禁用多個表

  drop_all:刪除多個表,表需先禁用,然后才能刪除

  3. Namespace

  create_namespace:創建命名空間,相當于關系型數據庫里創建一個數據庫

  ##創建一個命名空間名為‘qf’,并添加屬性

  create_namespace ‘qf’, {'PROPERTY_NAME'=>'PROPERTY_VALUE'}

  alter_namespace:修改,添加,刪除命名空間的屬性

  ##設置命名空間qf的屬性

  alter_namespace 'qf', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}

  ##刪除命名空間qf的屬性

  alter_namespace 'qf', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}

  describe_namespace:獲取命名空間的描述

  ##獲取命名空間‘qf’的描述信息

  describe_namespace ‘qf’

  drop_namespace:刪除命名空間

  ##刪除命名空間‘qf’

  drop_namespace ‘qf’

  list_namespace:查看所有命名空間

  list_namespace_tables:查看命名空間下的所有表

  ##查看命名空間‘ns1’下的所有表

  list_namespace_tables ‘ns1’

  4. DML

  先在命名空間‘qianfeng’(如果沒有這個命名空間要先創建此命名空間)下創建一張表test,列族為‘cf’作為測試用

  create ‘qianfeng:test’,’cf’

  put:添加cell(數據)

  # #向命名空間qianfeng下表test的rowkey為r1的列族下添加數據

  put 'qianfeng:test','r1','cf:uname','zhangsan'

  scan:掃描全表

  scan ‘qianfeng:test’

  get:得到某一列或cell的數據。

  ##向命名空間qianfeng下表test的rowkey為r1的列族下添加數據

  put 'qianfeng:test','r1','cf:age','23'

  ##獲取列族cf下rowkey為r1的所有數據

  get ‘qianfeng:test’,’r1’

  ##獲取列族cf下rowkey為r1,列名為uname的數據(獲取一個cell)

  get 'qianfeng:test','r1','cf:uname'

  truncate:清空表,不用disable (只是清空數據)

  ##清空表‘qianfeng:test’

  truncate ‘qianfeng:test’

  查看‘qianfeng’下所有的表

  以上為hbase shell腳本的基礎操作,都應該熟練掌握。在掌握hbase shell腳本的基礎上學習hbase 的java api,會顯得事半功倍。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. HBase介紹,Hbase是什么? HBase -- Hadoop Database ,是一個高可靠、高性能...
    奉先閱讀 3,778評論 1 36
  • 入門指南 1. 簡介 Quickstart會讓你啟動和運行一個單節點單機HBase。 2. 快速啟動 – 單點HB...
    和心數據閱讀 4,723評論 1 41
  • 在對HBase進行操作之前,首先學習一下HBase的基礎架構和運行原理。這里講解了 HBase 在大數據生態圈中的...
    卡卡xx閱讀 7,289評論 1 2
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,890評論 18 139
  • 江南多雨,偏偏那雨又很像南方人的性格,不急不躁,喜歡慢條斯理地下。就連順著瓦棱落下的雨滴,也是平平仄仄的合著韻腳。...
    梁延峰閱讀 580評論 0 1