Yes. I found the same information.

On Tue, Mar 29, 2011 at 12:23 PM, Jesse Hutton <[email protected]>wrote:

> AFAIK, (and maybe some experts can chime in here with some details) there
> is no real way to over write a value in hbase. If you want to control the
> number of versions, you can set the "max versions" property on the column
> family, and that will be enforced whenever a major compaction occurs [1].
>
> Jesse
>
> 1) http://www.outerthought.org/blog/465-ot.html
>
>
> On Tue, Mar 29, 2011 at 12:43 PM, sulabh choudhury <[email protected]>wrote:
>
>> I just realized that using the increment function creates another version,
>> with a new timestamp.
>> Is there a way we can use the previous TS, hence over writing the value ?
>>
>> On Tue, Mar 29, 2011 at 9:38 AM, sulabh choudhury <[email protected]>
>> wrote:
>>
>> > Thanks Jesse. Changing the 10 to 10L made it work.
>> >
>> > On Tue, Mar 29, 2011 at 8:59 AM, Jesse Hutton <[email protected]
>> >wrote:
>> >
>> >> Hi,
>> >>
>> >> It looks like the problem is that the initial value you're inserting in
>> >> the column is an int, while HTable#incrementColumnValue() expects a
>> long.
>> >> Instead of:
>> >>
>> >>
>> >>> I enter data by :-
>> >>> theput.add(Bytes.toBytes("uid"),Bytes.toBytes("1"), 1301087829999L +
>> t,
>> >>> Bytes.toBytes(10))
>> >>>
>> >>
>> >> try:
>> >> theput.add(Bytes.toBytes("uid"),Bytes.toBytes("1"), 1301087829999L + t,
>> >> Bytes.toBytes(10L));
>> >>
>> >> Jesse
>> >>
>> >>
>> >>>
>> >>> Now when I try to increment the value I have tried...
>> >>> mytable.incrementColumnValue(Bytes.toBytes("row5"),
>> >>> Bytes.toBytes("uid"),Bytes.toBytes("1"),Bytes.toBytes(1))
>> >>> mytable.incrementColumnValue(Bytes.toBytes("row5"),
>> >>> Bytes.toBytes("uid"),Bytes.toBytes("1"),1)
>> >>>
>> >>> also
>> >>> val inc = new Increment(Bytes.toBytes("row" + 5))
>> >>> inc.addColumn(Bytes.toBytes("uid"),Bytes.toBytes("1"),1)
>> >>> mytable.increment(inc)
>> >>>
>> >>> In both of the cases, I get an error like
>> >>> org.apache.hadoop.hbase.client.RetriesExhaustedException:
>> >>> Exceptions:
>> >>> java.io.IOException: java.io.IOException:
>> >>> java.lang.IllegalArgumentException: offset (28) + length (8) exceed
>> the
>> >>> capacity of the array: 32
>> >>> at
>> >>>
>> >>>
>> org.apache.hadoop.hbase.util.Bytes.explainWrongLengthOrOffset(Bytes.java:502)
>> >>>  at org.apache.hadoop.hbase.util.Bytes.toLong(Bytes.java:480)
>> >>> at
>> >>>
>> >>>
>> org.apache.hadoop.hbase.regionserver.HRegion.incrementColumnValue(HRegion.java:3134)
>> >>>  at
>> >>>
>> >>>
>> org.apache.hadoop.hbase.regionserver.HRegionServer.incrementColumnValue(HRegionServer.java:2486)
>> >>> at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
>> >>>  at sun.reflec...
>> >>>
>> >>>
>> >>> I guess I have tried all possible combinations of datatypes....I could
>> >>> not
>> >>> even find a decent example of incrementColumnValue()
>> >>>
>> >>
>> >>
>> >
>> >
>> >
>> >
>>
>
>

Reply via email to