hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Natkins <na...@wibidata.com>
Subject Re: Possible to delete a specific cell?
Date Thu, 07 Mar 2013 20:25:36 GMT
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.odell@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 <yuzhihong@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.odell@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-marc@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 <jeff@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.odell@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 <
> > > > sergey@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 <
> > > natty@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-marc@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 <natty@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>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message