For those who care, it turns out that this use case is currently possible, just not through the hbase shell:
hbase(main):002:0> scan 'del_test', { VERSIONS => 10 } ROW COLUMN+CELL key column=f1:c1, timestamp=5, value=value5 key column=f1:c1, timestamp=4, value=value4 key column=f1:c1, timestamp=2, value=value2 key column=f1:c1, timestamp=1, value=value1 1 row(s) in 0.0650 seconds Here's a small program to try it yourself: https://gist.github.com/jnatkins/5111513 On Thu, Mar 7, 2013 at 10:49 AM, Kevin O'dell <kevin.od...@cloudera.com>wrote: > Ted, > > Yes that is correct, sorry 3 is newer than 1 when speak TSs. Sorry for > the confusion :) > > On Thu, Mar 7, 2013 at 1:48 PM, Ted Yu <yuzhih...@gmail.com> wrote: > > > I think there was typo in Kevin's email: t3 should be t1 > > > > On Thu, Mar 7, 2013 at 10:42 AM, Kevin O'dell <kevin.od...@cloudera.com > > >wrote: > > > > > JM, > > > > > > If you delete t2, you will also wipe out t3 right now. > > > > > > On Thu, Mar 7, 2013 at 1:37 PM, Jean-Marc Spaggiari < > > > jean-m...@spaggiari.org > > > > wrote: > > > > > > > Kevin, > > > > > > > > How do you see that? Like a specific cell format which can "cancel" > > > > once timestamp and no delete all the previous one? > > > > > > > > Like before compaction we can have > > > > > > > > v1:t1 > > > > v1:t2 > > > > v1:t3 > > > > v1:d2 <= Delete only t2 version. > > > > > > > > And at compaction time we only keep that in mind and give this as a > > > result: > > > > v1:t1 > > > > v1:t3 > > > > > > > > ? > > > > > > > > 2013/3/7 Jeff Kolesky <j...@opower.com>: > > > > > Yes, this behavior would be fantastic. If you follow the Kiji/Wibi > > > model > > > > > of using many versioned cells, being able to delete a specific cell > > > > without > > > > > deleting all cells prior to it would be very useful. > > > > > > > > > > Jeff > > > > > > > > > > > > > > > On Thu, Mar 7, 2013 at 10:26 AM, Kevin O'dell < > > > kevin.od...@cloudera.com > > > > >wrote: > > > > > > > > > >> The problem is it kills all older cells. We should probably file > a > > > JIRA > > > > >> for this, as this behavior would be nice. Thoughts?: > > > > >> > > > > >> hbase(main):028:0> truncate 'tre' > > > > >> > > > > >> Truncating 'tre' table (it may take a while): > > > > >> > > > > >> - Disabling table... > > > > >> > > > > >> - Dropping table... > > > > >> > > > > >> - Creating table... > > > > >> > > > > >> 0 row(s) in 4.6060 seconds > > > > >> > > > > >> > > > > >> hbase(main):029:0> put 'tre', 'row1', 'cf1:c1', 'abc', 111 > > > > >> > > > > >> 0 row(s) in 0.0220 seconds > > > > >> > > > > >> > > > > >> hbase(main):030:0> put 'tre', 'row1', 'cf1:c1', 'abcd', 112 > > > > >> > > > > >> 0 row(s) in 0.0060 seconds > > > > >> > > > > >> > > > > >> hbase(main):031:0> put 'tre', 'row1', 'cf1:c1', 'abce', 113 > > > > >> > > > > >> 0 row(s) in 0.0120 seconds > > > > >> > > > > >> > > > > >> hbase(main):032:0> scan 'tre', {NAME => 'cf1:c1', VERSIONS => 4} > > > > >> > > > > >> ROW > > > COLUMN+CELL > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> row1 > > > > column=cf1:c1, > > > > >> timestamp=113, value=abce > > > > >> > > > > >> > > > > >> > > > > >> row1 > > > > column=cf1:c1, > > > > >> timestamp=112, value=abcd > > > > >> > > > > >> > > > > >> > > > > >> row1 > > > > column=cf1:c1, > > > > >> timestamp=111, value=abc > > > > >> > > > > >> > > > > >> hbase(main):033:0> delete 'tre', 'row1', 'cf1:c1', 112 > > > > >> > > > > >> 0 row(s) in 0.0110 seconds > > > > >> > > > > >> > > > > >> hbase(main):034:0> scan 'tre', {NAME => 'cf1:c1', VERSIONS => 4} > > > > >> > > > > >> ROW > > > COLUMN+CELL > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> row1 > > > > column=cf1:c1, > > > > >> timestamp=113, value=abce > > > > >> > > > > >> > > > > >> > > > > >> 1 row(s) in 0.0290 seconds > > > > >> > > > > >> > > > > >> On Thu, Mar 7, 2013 at 1:22 PM, Sergey Shelukhin < > > > > ser...@hortonworks.com > > > > >> >wrote: > > > > >> > > > > >> > Shouldn't you be able to insert delete with t belonging to (t2, > > t3) > > > to > > > > >> > achieve this effect? > > > > >> > > > > > >> > On Thu, Mar 7, 2013 at 10:12 AM, Jonathan Natkins < > > > na...@wibidata.com > > > > >> > >wrote: > > > > >> > > > > > >> > > Yep, that's the scenario I was curious about. Thanks! > > > > >> > > > > > > >> > > > > > > >> > > On Thu, Mar 7, 2013 at 10:04 AM, Jean-Marc Spaggiari < > > > > >> > > jean-m...@spaggiari.org> wrote: > > > > >> > > > > > > >> > > > Hi Jonathan, > > > > >> > > > > > > > >> > > > Is that what you mean? > > > > >> > > > > > > > >> > > > In the same CF:C > > > > >> > > > insert r1 v1 t1 > > > > >> > > > insert r1 v2 t2 > > > > >> > > > insert r1 v3 t3 > > > > >> > > > > > > > >> > > > Then you want to be able to delete r1 v3 t3 to see r1 v2? > > > > >> > > > > > > > >> > > > This is not possible. If you put a delete with t4, > everything > > > > older > > > > >> > > > than t4 will be deleted when the compression will occur. > > > > >> > > > > > > > >> > > > JM > > > > >> > > > > > > > >> > > > 2013/3/7 Jonathan Natkins <na...@wibidata.com>: > > > > >> > > > > It was suggested to me that there might be a way to > delete a > > > > cell > > > > >> in > > > > >> > a > > > > >> > > > > column for a particular timestamp, without masking all > older > > > > >> values. > > > > >> > Is > > > > >> > > > > this true? Or have I been fed lies? > > > > >> > > > > > > > > >> > > > > Thanks! > > > > >> > > > > Natty > > > > >> > > > > > > > > >> > > > > -- > > > > >> > > > > http://www.wibidata.com > > > > >> > > > > office: 1.415.496.9424 x208 > > > > >> > > > > cell: 1.609.577.1600 > > > > >> > > > > twitter: @nattyice <http://www.twitter.com/nattyice> > > > > >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > -- > > > > >> > > http://www.wibidata.com > > > > >> > > office: 1.415.496.9424 x208 > > > > >> > > cell: 1.609.577.1600 > > > > >> > > twitter: @nattyice <http://www.twitter.com/nattyice> > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > >> > > > > >> -- > > > > >> Kevin O'Dell > > > > >> Customer Operations Engineer, Cloudera > > > > >> > > > > > > > > > > > > > > > > > > > > -- > > > > > *Jeff Kolesky* > > > > > Chief Software Architect > > > > > *Opower* > > > > > > > > > > > > > > > > -- > > > Kevin O'Dell > > > Customer Operations Engineer, Cloudera > > > > > > > > > -- > Kevin O'Dell > Customer Operations Engineer, Cloudera > -- http://www.wibidata.com office: 1.415.496.9424 x208 cell: 1.609.577.1600 twitter: @nattyice <http://www.twitter.com/nattyice>