视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
HBase"Raw"scans
2020-11-09 13:32:25 责编:小采
文档


In HBase Scans (and by extension Gets) do not retrieve deleted cells or the tombstone markers that mark them as deleted. Sometimes is useful for trouble shooting (or backup - there will be a separate blog post about that soon) to see all c

In HBase Scans (and by extension Gets) do not retrieve deleted cells or the tombstone markers that mark them as deleted.
Sometimes is useful for trouble shooting (or backup - there will be a separate blog post about that soon) to see all cells including deleted cells and the tombstone markers.

HBASE-4536 introduces "raw" Scans (only available in HBase trunk - not the upcoming 0.92). In the Java client these are enabled by Scan.setRaw(true).

The HBase shell also supports this by adding RAW=>true to a scan.

Once raw mode is enabled the returned result contains not only the standard KeyValues, but also KeyValues for deleted cells and for tombstone markers (which are just special types of KeyValues, more on delete markers can be found here).

Here's an example of what it would look like in the shell:

hbase(main):001:0> scan 'x2', {RAW=>true, VERSIONS=>10}ROW COLUMN+CELL r1 column=f:c, timestamp=1323323611106, value=v3 r1 column=f:c, timestamp=1323323609988, type=DeleteColumn r1 column=f:c, timestamp=1323323609988, value=v2 r1 column=f:c, timestamp=1323323608554, value=v1 r2 column=f:c, timestamp=1323323617759, value=v3 r2 column=f:c, timestamp=1323323616226, value=v2 r2 column=f:c, timestamp=1323323614496, value=v1 2 row(s) in 0.6380 seconds

In this the above example values 'v2' and 'v1' for row key 'r1' have been deleted with a column delete marker.

hbase(main):005:0> scan 'x1', {RAW=>true, VERSIONS=>10}ROW COLUMN+CELL r2 column=f:, timestamp=1323323616226, type=DeleteFamily r2 column=f:c, timestamp=1323323617759, value=v3 r2 column=f:c, timestamp=1323323616226, value=v2 r2 column=f:c, timestamp=1323323614496, value=v1 2 row(s) in 0.0500 seconds


Here 'v2' and 'v1' of row key 'r2' have been deleted with family delete marker.

Notice how the column marker is sorted in line with the cells it affects (it sorted after the cell for value 'v3'), but that the family marker is sorted before all cell of the affected row key.

The sort order was carefully designed to allow HBase to identify all cells affected by a delete marker in single forward scan through the store files(s).

下载本文
显示全文
专题