まず、基本的なコマンド
HBaseのシェルを開きます。
# hbase shell
1.1ヘルプの表示
# 获取帮助
help
# 获取命令的详细信息
help 'status'
1.2 Viewサーバのステータス
status
1.3バージョン情報
version
テーブルの上に第二に、操作
表2.1すべてを表示します
list
2.2テーブルの作成
構文:「テーブル名」を作成、「グループ名欄1」、「2列ファミリ名」、「列名のN」
# 创建一张名为Student的表,包含基本信息(baseInfo)、学校信息(schoolInfo)两个列族
create 'Student','baseInfo','schoolInfo'
2.3ビューの基本情報テーブル
フォーマット:DESC「テーブル名」
describe 'Student'
表2.4有効/無効
このテーブルは、is_enabledや障害のチェックリストであることをis_disabledかどうかを有効/無効にすると、あなたが有効にすることができます無効にします
# 禁用表
disable 'Student'
# 检查表是否被禁用
is_disabled 'Student'
# 启用表
enable 'Student'
# 检查表是否被启用
is_enabled 'Student'
2.5テーブルが存在チェック
exists 'Student'
2.6テーブルの削除
# 删除表前需要先禁用表
disable 'Student'
# 删除表
drop 'Student'
第三に、追加および削除
3.1列ファミリを追加
フォーマット:ALTER「テーブル」、「グループ名の列」
alter 'Student', 'teacherInfo'
3.2列ファミリを削除します。
フォーマット:ALTER 'テーブル'、{NAME => 'グループ名の列'、METHOD => 'を削除' }
alter 'Student', {NAME => 'teacherInfo', METHOD => 'delete'}
列ファミリバージョン3.3のストレージの制限を変更します
デフォルトでは、データの複数のバージョンを格納するために必要に応じて、データのバージョンを格納するだけ列グループは、必要が列グループのプロパティを変更します。修正後できるdesc
コマンドを表示します。
alter 'Student',{NAME=>'baseInfo',VERSIONS=>3}
3.4データの挿入
フォーマット:PUT「テーブル」、「OKボタン」、「グループ列:列」、「値」
注意:新しいデータ行キー、列ファミリ名、列名が、同等の更新元のデータと同一である場合
put 'Student', 'rowkey1','baseInfo:name','tom'
put 'Student', 'rowkey1','baseInfo:birthday','1990-01-09'
put 'Student', 'rowkey1','baseInfo:age','29'
put 'Student', 'rowkey1','schoolInfo:name','Havard'
put 'Student', 'rowkey1','schoolInfo:localtion','Boston'
put 'Student', 'rowkey2','baseInfo:name','jack'
put 'Student', 'rowkey2','baseInfo:birthday','1998-08-22'
put 'Student', 'rowkey2','baseInfo:age','21'
put 'Student', 'rowkey2','schoolInfo:name','yale'
put 'Student', 'rowkey2','schoolInfo:localtion','New Haven'
put 'Student', 'rowkey3','baseInfo:name','maike'
put 'Student', 'rowkey3','baseInfo:birthday','1995-01-22'
put 'Student', 'rowkey3','baseInfo:age','24'
put 'Student', 'rowkey3','schoolInfo:name','yale'
put 'Student', 'rowkey3','schoolInfo:localtion','New Haven'
put 'Student', 'wrowkey4','baseInfo:name','maike-jack'
3.5指定された行の指定された行、列ファミリーおよび列情報を取得します
# 获取指定行中所有列的数据信息
get 'Student','rowkey3'
# 获取指定行中指定列族下所有列的数据信息
get 'Student','rowkey3','baseInfo'
# 获取指定行中指定列的数据信息
get 'Student','rowkey3','baseInfo:name'
3.6行のカラムを指定し、指定された行を削除
# 删除指定行
delete 'Student','rowkey3'
# 删除指定行中指定列的数据
delete 'Student','rowkey3','baseInfo:name'
第四に、クエリ
2つの基本的な方法でHBaseのアクセスデータ:
データ指定のrowKeyを取得:メソッドを取得します。
指定されたデータの取得条件:スキャン方法。
scan
開始と終了のパラメータは、範囲内のすべてのデータにアクセスするために提供することができます。特別なスキャンを開始し、終了すると本質的に同じで取得します。
4.1Get問い合わせ
# 获取指定行中所有列的数据信息
get 'Student','rowkey3'
# 获取指定行中指定列族下所有列的数据信息
get 'Student','rowkey3','baseInfo'
# 获取指定行中指定列的数据信息
get 'Student','rowkey3','baseInfo:name'
4.2全体のデータテーブルを照会します
scan 'Student'
4.3クエリは、データの列クラスタを指定します
scan 'Student', {COLUMN=>'baseInfo'}
4.4条件お問い合わせ
# 查询指定列的数据
scan 'Student', {COLUMNS=> 'baseInfo:birthday'}
カラムに加え(COLUMNS)
外部修飾子、HBaseの支持体Limit
(クエリ結果の行の数を制限する)、 STARTROW
(ROWKEY
これは、に基づいて、第1になり、行を開始するkey
位置指定region
再度スキャンした後、)、 STOPROW
(エンドライン)、 TIMERANGE
(タイムスタンプ制限された範囲)、 VERSIONS
(バージョン番号)、及びFILTER
(条件付きのラインフィルタ)等が挙げられます。
代表として始まり、データ名の2列、3列の下で、最新バージョンを検索しますrowkey2
rowkey
scan 'Student', {COLUMNS=> 'baseInfo:name',STARTROW => 'rowkey2',STOPROW => 'wrowkey4',LIMIT=>2, VERSIONS=>3}
4.5条件フィルタ
条件のフィルタ範囲は、フィルタリングに設定することができます。我々は、すべてのデータの値を照会する場合は24に等しくなります。
scan 'Student', FILTER=>"ValueFilter(=,'binary:24')"
エール値は、すべてのデータが含まれています。
scan 'Student', FILTER=>"ValueFilter(=,'substring:yale')"
の誕生のために列名を接頭辞:
scan 'Student', FILTER=>"ColumnPrefixFilter('birth')"
FILTERフィルタ条件を組み合わせるブラケット複数のサポート、AND、及びOR:
# 列名中的前缀为birth且列值中包含1998的数据
scan 'Student', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter ValueFilter(=,'substring:1998')"
PrefixFilter
の決意のためのrowKey接頭辞:
scan 'Student', FILTER=>"PrefixFilter('wr')"
もっと大きなデータ系列は、GitHubのオープンソースプロジェクトを見つけることができます:ビッグデータははじめに