わかっているように、hbaseには、特定の行と特定の列が最近の変更値をタイムスタンプで記録できるという機能があります。 私の質問は、HBaseコマンドを使って変更された値をすべて一覧表示する方法です。私はたくさんのGoogle検索を行ったが、役に立つリンクは見つけられなかった。HBaseの特定の行と列から複数のバージョンを取得する方法
6
A
答えて
7
あなたがスキャンのために取得するバージョンの数を指定して取得し、それはそれらを取得することができます。
HTable tbl = new HTable(tableName);
Get q= new Get(Bytes.toBytes(key));
q.setMaxVersions(numberOfVersionsYouWant);
Result row= tbl.get(q);
NavigableMap<byte[],NavigableMap<byte[],NavigableMap<Long,byte[]>>> allVersions=row.getMap();
7
同じはHBaseのシェルで達成することができる使用:
get 'tablename', 'rowid', {COLUMN => 'cf:info', VERSIONS => 3}
上記の意志可能であれば、セルの最大3バージョンを表示します。
10
デフォルトでは、バージョン管理は有効になっていません。したがって、テーブルを作成する際に指定しています。ここで
create 'student',{NAME=>"personal",Versions=>5},'school'
列に対して有効になっているバージョニング「個人」ではなく、あなたが
personal
については、表
hbase(main):009:0> describe 'student'
Table student is ENABLED
student
COLUMN FAMILIES DESCRIPTION
{NAME => 'personal', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '5', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
{NAME => 'school', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
を記述する場合、これを見ることができる
列 '学校のためにそれschool
についてはVERSIONS => '5'
示し、それVERSIONS => '1'
を示しています。テーブルが既に作成されている場合は
は、予想通り
alter 'student',NAME=>'school',VERSIONS =>3
hbase(main):011:0> describe 'student'
Table student is ENABLED
student
COLUMN FAMILIES DESCRIPTION
{NAME => 'personal', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '5', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
{NAME => 'school', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
ではない、それは
school
については
VERSIONS => '3'
を示して変更することができます。
テーブルにデータを入れます。同じセルに複数回入力してください。そして、テーブルをスキャンします。
put 'student','1','personal:name','kaushik'
put 'student','1','personal:name','kaushik_again'
put 'student','1','school:name','great_school'
put 'student','1','school:name','great_school_again'
scan 'student',{VERSIONS=>10}
ROW COLUMN+CELL
1 column=personal:name, timestamp=1443002303208, value=kaushik_again
1 column=personal:name, timestamp=1443002294049, value=kaushik
1 column=school:name, timestamp=1443002320753, value=great_school_again
1 column=school:name, timestamp=1443002311421, value=great_school
予想通り、新しい値と古い値が表示されます。
関連する問題
- 1. 行の特定の列ファミリの列を取得するHBase
- 2. DataGridView複数の行選択、特定の列データの取得
- 3. SQLデータベースから特定の列を取得する方法は?
- 4. CSS3で作成した複数列のレイアウトから特定の列の内容を取得する方法は?
- 5. 特定の条件の行数を取得する方法
- 6. 特定のバージョンのバンドルからファイルを取得する
- 7. OpenCVで特定の要素の行と列を取得する方法は?
- 8. Hbaseのテーブルから特定の行から情報を取り出す方法は?
- 9. 文字列から特定の数値を取得する
- 10. 複数のQualifierFilterをHBaseの行に適用する方法
- 11. hbaseの複数の行を一括削除する方法は?
- 12. MS ACCESSデータベースの特定の行と列から値を取得する方法はありますか?
- 13. スパークデータフレームから特定の行を取得
- 14. hbase行からタイムスタンプを取得
- 15. ハイブの複数のテーブルから同じ列を特定する方法
- 16. Listviewクリックでデータベースから特定の行のデータを取得する方法は?
- 17. 特定の列のレコードのリストを取得する方法ファミリ?
- 18. 特定のCSSの列の内容を取得する方法
- 19. 特定の値でgeom_line条件に複数の色を取得する方法
- 20. matplotlibプロットから行と列の数を取得する方法は?
- 21. 特定のコレクションからTFS2010プロジェクトを取得する方法
- 22. ps auxから特定のカラムを取得する方法
- 23. SQLクエリから特定のタイムスタンプを取得する方法
- 24. web_reg_save_paramから特定のインデックス値を取得する方法arrray
- 25. Berkeley DB:QUEUEから特定のキーを取得する方法
- 26. セッションから特定の情報を取得する方法リスト
- 27. 特定のスレッドからtrafficstatsを取得する方法
- 28. Ajax jQueryから特定のコンテナを取得する方法
- 29. リストから特定の値を取得する方法
- 30. 複数のオブジェクトタイプを持つコレクションから特定のタイプの特定のオブジェクトのみを読み取る方法
最小3つのバージョンを取得する方法はありますか? –