2017-10-15 12 views
0

私はCell in HBaseを読んでいて、その値が行、列ファミリ、列修飾子、タイムスタンプ、およびタイプが一意であることを確認しました。HBaseにはどのように細胞の種類が使用されていますか?

私は、最初の4を知っていたが、私はいつものHBaseをバイト配列として、すべてを保存することが知られているtypeについて何も知らないしませんでした。それから、値のタイプではなく、The byte representation of the KeyValue.TYPE of this cell: one of Put, Delete, etcであることがわかりました。コードhereにリンクしてください。

  • そのCellの状態を引き起こしたCRUD操作の値はありますか? HBaseはそれをなぜ保存しますか?
  • どうCellのタイプはdeleteすることができますか?削除後にセルを削除してはいけませんか?

答えて

1

HBaseは細胞を直ちに削除するのではなく、細胞が削除されたことを示す墓石マーカーを置くという事実に関連しています。これらのマーカーが表示されている場合、スキャンと操作でセルが無視されます。大きな圧縮の後、これらのセルはすべて物理的に削除されます。

+0

は、それがこの情報へのアクセスを与えるだけではなくフードの下墓石と、このフィールドを使用すると便利ですか? –

+0

@AndreaBergonzoプログラムでスキャンを作成して、削除されたセルを含むすべてのセルを読み取ることは可能です。だから、それはapiで利用可能です – AdamSkywalker

+0

私は参照してください。アプリケーション/ビジネスレイヤーから削除されたセルを取得するユースケースは見当たりませんが、物理的にはHBaseでは削除されず、コンパクションが本当に削除されるのを待っています。私は誰かがHBase自体から管理される代わりにその情報を必要とするユースケースについて考えていました。 この回答は私の質問、それを受け入れる。 –

関連する問題