HBAse入門(3)-HBAseリモート接続+HBAse共通コマンド
5472 ワード
IDSWクラスタにおけるHbaseへのアクセス
環境
アイテム
内容
バージョン#バージョン#
hbase-1.4.9
hadoopバージョン
hadoop2.6.5
インストールディレクトリ
/data/hbase-1.4.9
マシン
10.111.25.140(主)10.111.25.138.111.25.139
zookeeper
hbaseが持参したzkを使用する
アクセス
10.111です.25.140でhbase shell注意:hbase shellで「Ctrl+Backspace」で削除
http://10.111.25.140:16010
リモート接続
pom.xml
パラメータ
内容
クラスタip
10.111.25.140(主)10.111.25.138.111.25.139
hbase.zookeeper.quorum
idsw-dev-03(または10.111.25.140)
hbase.zookeeper.property.clientPort
2181(デフォルト)
アクセスコード:
Hbase共通コマンド
名前
コマンド式
hbaseステータスの表示
status
テーブルの作成
create'表名','列族名1','列族名2','列族名N'
すべてのテーブルを表示
list
説明テーブル
describe'テーブル名'
判定テーブルが存在する
exists'テーブル名'
テーブルの有効化を無効にするかどうかを判断
is_enabled'テーブル名'is_disabled'テーブル名'
レコードの追加
put'テーブル名','rowkey','列族:列','値'
レコードrowkeyのすべてのデータを表示
get'テーブル名','rowkey'
すべてのレコードを表示
scan'テーブル名'
表のレコードの合計数の表示
count'テーブル名
カラムファミリの取得
get'テーブル名','rowkey','列ファミリー:列'
カラムファミリーのカラムを取得
get'テーブル名','rowkey','列ファミリー:列'
レコードの削除
delete'テーブル名','行名','列ファミリー:列'
行全体を削除
deleteall'テーブル名','rowkey'
テーブルを削除
最初のステップdisable'テーブル名'、2番目のステップdrop'テーブル名'を削除するには、テーブルをブロックします.
テーブルを空にする
truncate'テーブル名'
テーブルの列内のすべてのデータの表示
scan'テーブル名',{COLUMNS=>'列ファミリー名:列名'}
レコードの更新
上書きして、hbaseは改正していないで、すべて追加します
テーブル操作のコマンド list create describe enable disable is_disabled is_enabled drop
テーブルデータ関連アクションのコマンド
コマンド#コマンド#
説明
≪インスタンス|Instance|emdw≫
scan
selectに相当します
scan 'test'
count
カウントは数行で合計
count 'test'
put
追加
put 'test','row1','info:age','30'
get
列のデータを取り出す
get 'test','0001','info:name'
delete
列の削除
delete 'test','0001','info:age'
truncate
テーブルのフォーマットデフォルトでは、次の操作が実行されます.disable'test'drop'test'create'test'
truncate 'test'
alter
変更
alter 'xingoo:test_v',NAME=>'v',VERSIONS=>5
create_namespace
ネームスペースの作成
create_namespace 'xingoo'
バージョン関連アクションコマンド
バージョン数の変更
複数バージョンの書き込み
マルチバージョンの読み込み
また、次のように、バージョンフィールドを時間フィールドとして範囲クエリーすることもできます.
環境
アイテム
内容
バージョン#バージョン#
hbase-1.4.9
hadoopバージョン
hadoop2.6.5
インストールディレクトリ
/data/hbase-1.4.9
マシン
10.111.25.140(主)10.111.25.138.111.25.139
zookeeper
hbaseが持参したzkを使用する
アクセス
10.111です.25.140でhbase shell注意:hbase shellで「Ctrl+Backspace」で削除
http://10.111.25.140:16010
リモート接続
pom.xml
org.apache.hbase
hbase-client
1.4.9
パラメータ
内容
クラスタip
10.111.25.140(主)10.111.25.138.111.25.139
hbase.zookeeper.quorum
idsw-dev-03(または10.111.25.140)
hbase.zookeeper.property.clientPort
2181(デフォルト)
アクセスコード:
package Utils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class HbaseTest {
private HBaseAdmin admin = null;
// HBaseConfiguration
private static Configuration configuration;
public HbaseTest() throws Exception {
configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum","10.111.25.140"); //hbase
configuration.set("hbase.zookeeper.property.clientPort","2181"); //
admin = new HBaseAdmin(configuration);
}
// Hbase
public List getAllTables() {
List tables = null;
if (admin != null) {
try {
HTableDescriptor[] allTable = admin.listTables();
if (allTable.length > 0)
tables = new ArrayList();
for (HTableDescriptor hTableDescriptor : allTable) {
tables.add(hTableDescriptor.getNameAsString());
System.out.println(hTableDescriptor.getNameAsString());
}
}catch (IOException e) {
e.printStackTrace();
}
}
return tables;
}
public static void main(String[] args) throws Exception {
HbaseTest hbaseTest = new HbaseTest();
hbaseTest.getAllTables();
}
}
Hbase共通コマンド
名前
コマンド式
hbaseステータスの表示
status
テーブルの作成
create'表名','列族名1','列族名2','列族名N'
すべてのテーブルを表示
list
説明テーブル
describe'テーブル名'
判定テーブルが存在する
exists'テーブル名'
テーブルの有効化を無効にするかどうかを判断
is_enabled'テーブル名'is_disabled'テーブル名'
レコードの追加
put'テーブル名','rowkey','列族:列','値'
レコードrowkeyのすべてのデータを表示
get'テーブル名','rowkey'
すべてのレコードを表示
scan'テーブル名'
表のレコードの合計数の表示
count'テーブル名
カラムファミリの取得
get'テーブル名','rowkey','列ファミリー:列'
カラムファミリーのカラムを取得
get'テーブル名','rowkey','列ファミリー:列'
レコードの削除
delete'テーブル名','行名','列ファミリー:列'
行全体を削除
deleteall'テーブル名','rowkey'
テーブルを削除
最初のステップdisable'テーブル名'、2番目のステップdrop'テーブル名'を削除するには、テーブルをブロックします.
テーブルを空にする
truncate'テーブル名'
テーブルの列内のすべてのデータの表示
scan'テーブル名',{COLUMNS=>'列ファミリー名:列名'}
レコードの更新
上書きして、hbaseは改正していないで、すべて追加します
テーブル操作のコマンド
テーブルデータ関連アクションのコマンド
コマンド#コマンド#
説明
≪インスタンス|Instance|emdw≫
scan
selectに相当します
scan 'test'
count
カウントは数行で合計
count 'test'
put
追加
put 'test','row1','info:age','30'
get
列のデータを取り出す
get 'test','0001','info:name'
delete
列の削除
delete 'test','0001','info:age'
truncate
テーブルのフォーマットデフォルトでは、次の操作が実行されます.disable'test'drop'test'create'test'
truncate 'test'
alter
変更
alter 'xingoo:test_v',NAME=>'v',VERSIONS=>5
create_namespace
ネームスペースの作成
create_namespace 'xingoo'
バージョン関連アクションコマンド
バージョン数の変更
alter 'xingoo:test_v',NAME=>'v',VERSIONS=>5
describe 'xingoo:test_v'
複数バージョンの書き込み
put 'xingoo:test_v','1','v:c1','value1'
put 'xingoo:test_v','1','v:c1','value2'
put 'xingoo:test_v','1','v:c1','value3'
put 'xingoo:test_v','1','v:c1','value4'
put 'xingoo:test_v','1','v:c1','value5'
put 'xingoo:test_v','1','v:c1','value6'
put 'xingoo:test_v','1','v:c1','value7'
マルチバージョンの読み込み
get 'xingoo:test_v','1',{COLUMN => 'v:c1',VERSIONS=>5}
また、次のように、バージョンフィールドを時間フィールドとして範囲クエリーすることもできます.
get 't1', 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}