NHNカンファレンスでもらったHBaseの本を、ざっと斜め読みして、適当にまとめるシリーズ「HBaseを読む」の続きです。
ちゃんとした情報を知りたい人は、HBaseの本を見てください。
今回は、3.2.1.1にあるコラムから
コラム:設定ファイルへのクライアントコードからのアクセス
・HBaseのクライアント
hbase-site.xmlをアクセスしなければならない
・HBaseConfigurationクラスを使う
Configuration create();
Configuration create(Configuration that);
2番目のメソッド:既存とマージ
・この設定をHTableのインスタンスに渡すまで
内容は自由に修正できる
コラム:データのバージョニング
・各セルに複数のバージョンを保存できる
明示的にタイムスタンプを提供
リージョンサーバーに決めてもらう
・scanとgetで得られるのは最新のバージョン
最大バージョン数を指定すれば、複数
時間の範囲を指定するパラメータを使う手も
3.2.1.2 KeyValueクラス
バイト配列とオフセット、長さを取得するgetterメソッド
getBuffer();
getOffset()
getLength()
2つのメソッドも知っておいたほうがいい
getRow()
getKey();
・Comparetorインターフェースを実装した内部クラスを
大量に提供している
・型のフィールドがある
・メタ情報の出力
toString()
3.2.1.3 クライアント側の書き込みバッファ
・put →RPCとやりとり
RPCを減らす重要性
ラウンドトリップタイム
メッセージのサイズ
・書き込みバッファがある
以下で自動フラッシュ無効
table.setAutoFlash(false);
強制的に書く
flashCommits();
→クライアントは暗黙のうちにフラッシュコマンド呼び出し
・フラッシュされる状況2つ
明示的:flashCommits();
暗黙 :put(),setWriteBufferSize()を呼び、場合によって
ちゃんとした情報を知りたい人は、HBaseの本を見てください。
今回は、3.2.1.1にあるコラムから
コラム:設定ファイルへのクライアントコードからのアクセス
・HBaseのクライアント
hbase-site.xmlをアクセスしなければならない
・HBaseConfigurationクラスを使う
Configuration create();
Configuration create(Configuration that);
2番目のメソッド:既存とマージ
・この設定をHTableのインスタンスに渡すまで
内容は自由に修正できる
コラム:データのバージョニング
・各セルに複数のバージョンを保存できる
明示的にタイムスタンプを提供
リージョンサーバーに決めてもらう
・scanとgetで得られるのは最新のバージョン
最大バージョン数を指定すれば、複数
時間の範囲を指定するパラメータを使う手も
3.2.1.2 KeyValueクラス
バイト配列とオフセット、長さを取得するgetterメソッド
getBuffer();
getOffset()
getLength()
2つのメソッドも知っておいたほうがいい
getRow()
getKey();
・Comparetorインターフェースを実装した内部クラスを
大量に提供している
・型のフィールドがある
・メタ情報の出力
toString()
3.2.1.3 クライアント側の書き込みバッファ
・put →RPCとやりとり
RPCを減らす重要性
ラウンドトリップタイム
メッセージのサイズ
・書き込みバッファがある
以下で自動フラッシュ無効
table.setAutoFlash(false);
強制的に書く
flashCommits();
→クライアントは暗黙のうちにフラッシュコマンド呼び出し
・フラッシュされる状況2つ
明示的:flashCommits();
暗黙 :put(),setWriteBufferSize()を呼び、場合によって