HBaseのは、コマンドライン--HBaseシェルを使用する便利な方法をユーザーに提供します。
HBaseのシェルは、HBaseのコマンドのほとんどを提供し、HBaseのシェルを介して、ユーザーが簡単に作成、削除、およびテーブルを変更することができます、また、関連情報の表に記載されている、テーブルにデータを追加することができます。このセクションでは、いくつかの一般的に使用されるコマンドや特定の操作を説明し、達成するためのコマンドラインを使用する方法を説明し、「生徒の成績表を。」
推奨読書の記事
我々は問題が発生したビッグデータフレームワークのHadoop
- 一般的な操作
1.クエリサーバステータス
HBaseの(メイン):0il:0>ステータス
1つのアクティブマスター、0バックアップマスター、1台のサーバ、0死者、4.0000平均負荷
2.クエリバージョン番号
HBaseの(主):012:0>バージョン
1.2.1、r8d8a7107dc4ccbf36a92f64675dc60392f85c015、水3月30日11時19分21秒CDT 2016
DDL操作
データ定義言語(データDefination言語、DDL)操作は、主に、データベースのスキーマを定義する変更と照会テーブルために使用されます。
1.テーブルを作成します。
HBaseの(主):013:0>
create'table」、 'column_famaly'、 'column_famaly1'、' column_famaly2'
94.9160秒で0行(複数可)
2.リストのすべてのテーブル
HBaseの(主):014:0>一覧
表
STUの
テーブル
試験
0.0570秒に3行(S)
テーブルの3 GET説明
(メイン)のHBase:015:0> describe'table '
表テーブルがENABLEDれる
テーブル
COLUMNファミリー説明
coluran_famaly ' DATA_BLOCK_ENCODING => 'NONE'、ブルームフィルタ=> 'ROW {NAME =>''を、REPLICATION_SCOPE =>' 0 '、 'FOREVER 'VERSIONS => '1'、COMPRESSION =>' NONE'、min_versionsを=>' 0'、TTL =>、KEEP_DELETED_CELLS => 'FALSE'、BLOCKSIZE => '65536'、IN_MEMORY
=>'偽」、BLOCKCACHE =>「本当}
...
3行(S)0.0430秒
4.列ファミリを削除します。
HBaseの(主):016:0> alter'table」、{NAME => 'column_famaly'、METHOD => ''が削除}
新しいスキーマとのすべての領域を更新...
1/1領域が更新。
完了。
3.0220秒で0行(複数可)
5.テーブルを削除します。
まず、テーブルが無効に設定されています。
HBaseの(主):020:0> disable'stu」
2.3150秒で0行(複数可)
次に、表を削除します。
HBaseの(主):021:0> drop'stu」
1.2820秒で0行(複数可)
6.クエリテーブルが存在します
HBaseの(主):024:0> exists'table」
表テーブルが存在しない
0.0280秒で0行(複数可)
7.表が利用可能である見ます
HBaseの(主):025:0> is_enabled'table」
真
0.0150秒で0行(複数可)
DML操作
データテーブル上のDML(データ操作言語、データ操作言語)操作は主に、追加、変更、検索、削除、およびクエリするために使用されます。
1.データの挿入
3列が挿入された行にRW1 EMP表。
名前' 'tanggao':HBaseの(メイン):031:0> put'emp'、 'RW1'、' col_f1
0.0460秒で0行(複数可)
年齢' '20':HBaseの(メイン):032:0> put'emp'、 'RW1'、' col_f1
0.0150秒で0行(複数可)
HBaseの(メイン):033:0> put'emp ' 'RW1 '、' col_f1:性別'、「少年
0.0190秒で0行(複数可)
2.データの取得
すべてのデータRW1ラインEMP表を取得します。
HBaseの(メイン):034:0> 'EMP'、 'RW1「取得
コラムセル
col_f1:年齢のタイムスタンプ= 1463055735107、値= 20
col_f1:名前のタイムスタンプ= 1463055709542、値= tanggao
col_f1:セックスのタイムスタンプ= 1463055753395、値=少年
3を0.3200秒の行(複数可)
すべてのデータ収集emp表の列が行col_f1家族をRW1。
HBaseの(メイン):035:0> get'emp」、 'RW1'、' col_f1「
コラムセル
col_f1:年齢タイムスタンプ= 1463055735107、値= 20
col_f1:名前のタイムスタンプ= 1463055709542、値= tanggao col_f1:セックスのタイムスタンプ= 1463055753395、値=少年
3行(S)0.0270秒
3.レコードを更新
RW1更新emp表の行、家族の年齢欄col_f1列の値。
HBaseの(メイン):037:0> 'EMP'、置く: 'rw1'col_f1年齢'、 '22'
0.0160秒で0行(複数可)
更新された結果を参照してください。
HBaseの(主):038:0> 'EMP'、 'RW1'を取得し、' col_f1:年齢」
コラムセル
col_f1:年齢タイムスタンプ= 1463055893492、値= 22
0.0190秒に1行(複数可)
4.データ収集タイムスタンプの2つのバージョンが
HBaseの(主):039:0> 'EMP'、 'RW1'、取得{COLUMN =>' col_f1:年齢」、TIMESTAMP => 1463055735107}
コラムセル
col_f1:年齢タイムスタンプ= 1463055735107、値= 20
1行(複数可) 0.0340秒
HBaseの(主):040:0> 'EMP'、 'RW1'、取得{COLUMN =>' col_f1:年齢」、TIMESTAMP => 1463055893492}
コラムセル
col_f1:年齢タイムスタンプ= 1463055893492、値= 22
1行(複数可) 0.0140秒
全表スキャン
HBaseの(主):041:0>スキャン'EMP'
ロー・カラム+ CELLの
IDカラム= col_f1:年齢、タイムスタンプ= 1463055893492、値= 2
のIDカラム= col_f1:名、タイム・スタンプ= 1463055709542、値= tanggao
ID欄= col_f1。性別、タイムスタンプ= 1463055753395、値=少年
0.1520秒に1行(複数可)
6.削除
EMPテーブルRW1行の列を削除します。
HBaseの(メイン):042:0> 'EMP'、 'RW1'、'年齢col_f1」を削除
0.0200秒で0行(複数可)
削除操作の結果を確認してください。
HBaseの(メイン):043:0> 'EMP'、 'RW1「取得
コラムセル
col_f1:セックスのタイムスタンプ= 1463055753395、値=少年:名前のタイムスタンプ= 1463.055709542、値= tanggao col_f1
0.2430秒で2行(複数可)
7行のすべてのセルを削除
emp表RW1行のすべての列を削除するには、「DELETEALL」コマンドを使用します。
HBaseの(主):044:0> 'EMP'、 'RW1' DELETEALL
0.0550秒で0行(複数可)
表の行の8数
HBaseの(メイン):045:0>のカウント'EMP'
0.0450秒で0行(複数可)
9.テーブル全体を空に
HBaseの(主):007:0> truncate'emp」
切捨て'EMP'テーブル(それはしばらく時間がかかる場合があります)。
-Disablingテーブル...
-Truncatingテーブル...
4.1510秒で0行(複数可)
HBaseのテーブルの例
次の例では、HBaseのよく使用されるコマンドの使用を紹介する「学生の転写産物」となります。
図1は、名前はOKキーであり、グレードの列ファミリは、3によって列ファミリーコース(列グループ下の列は名前ではない)特殊な、とだけではなく名前であるが、学生の転写産物でありますカラム(中国語、数学と英語)。必要に応じてユーザーは、このようなコンピューティング、物理学など、コースに多くの列を作成することができます。
図1学生の転写産物
学年やコース:1台のスコア、2つの列を含むグループを作成します。
HBaseの(メイン):001:0>のスコア」、 '学年'、 'コース' を作成
追加表2の構造設計値
put'scores'、 'Jim1'、'グレード: '1 '
put'scores'、 'ジム'、 'コース:中国'、 '90'が
put'scores'、 'ジム'、 'コース:数学'、 '85 '
put'scores'、 'ジム'、 'コース:英語'、 '85'の
put'scores'、 'トム'、 'グレード:'、 '2'
put'scores'、 'トム'、 'コース:中国' 、'97'
put'scores'、 'トム'、 'コース:数学'、 '100'
put'scores'、 'トム'、 'コース:英語'、 '92'
表のような構造は、列の家族は自由に列内の子を追加することができ、構築されました。コラムコラム家族の下には子ならば、唯一の追加「:」あなたがすることができます。
クエリデータへの鍵
ジムは、データラインのスコア表を表示します。
HBaseの(メイン):012:0>取得のスコア」、 'ジム'
ビュージムのスコアテーブルの行、列ファミリは、数学の欄にコースを値。
HBaseの(メイン):012:0>取得のスコア」、 'ジム'、 'コース:数学'
または、次のコードで。
HBaseの(主):012:0> 'スコア'、 'ジム'、取得{列=> 'コース:数学'}
4.すべてのデータをスキャン
HBaseの(メイン):012:0>スキャンのスコア "
上記のコマンドは、つまり、中国語、数学や英語などのトムとジム結果、すべてのコースを、データのすべての行を表示します。
返される結果を制限するために、ユーザは、TIMERANGE、FILTER、LIMIT、STARTROW、STOPROW、TIMESTAMP、MAXLENGTHまたは列などの修飾子の数を指定することができます。
ジムとトムは結果の英語得ます。
scan'scores'、{COLUMN => 'コース:英語'、STARTROW =>ジム、とendRow =トム}
5.新しい列を追加します。
トムのためのパフォーマンス・コンピューティングのコースを追加します。
HBaseの(メイン):012:0> put'scores'、 'トム'、 'コース:コンピューティング'、 '90'