Hi Anil,

the point of getFamilyArray() is that it may return the entire buffer, but it 
does not *have* to.
Everybody should use the new API, so that we can eventually have KeyValues 
(Cells) that do not have be backed by a single byte[].
(i.e. we can have KeyValues backed by separate row, family, column, value 
arrays)


-- Lars



________________________________
 From: anil gupta <[email protected]>
To: "[email protected]" <[email protected]> 
Sent: Monday, August 4, 2014 9:56 PM
Subject: Re: What is replacement of kv.getBuffer() in HBase0.98?
 

Hi Ted,

This will return entire backing bytes array just like keyValue.getBuffer()?
By the documentation i thought its returning some file name :
byte[] *getFamilyArray
<https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/Cell.html#getFamilyArray%28%29>*
()
Contiguous bytes composed of legal HDFS filename characters which may start
at any index in the containing array.

IMHO, this method name is not as intuitive as "getBuffer".

Thanks,
Anil



On Mon, Aug 4, 2014 at 9:32 PM, Ted Yu <[email protected]> wrote:

> Take a look at this method in Cell:
>
>   byte[] getFamilyArray();
>
> Cheers
>
>
> On Mon, Aug 4, 2014 at 9:26 PM, anil gupta <[email protected]> wrote:
>
> > I have been using KeyValues.getBuffer() very heavily in my HBase0.94
> code.
> > This method is not present in 0.98. What is the equivalent of
> > KeyValues.getBuffer() in Cell?
> > I am trying to avoid doing ArrayCopy of CF just for doing comparison.
> >
> > What would be equivalent for this code in 0.98?
> > Bytes.equals(columnFamily, 0, columnFamily.length, keyvalue.getBuffer(),
> > keyvalue.getFamilyOffset(),
> >                                 keyvalue.getFamilyLength())))
> >
> > Maybe this?
> > Bytes.equals(columnFamily, 0, columnFamily.length, cell.getBuffer(),
> > cell.getFamilyOffset(),
> >                                 cell.getFamilyLength())))
> >
> > --
> > Thanks & Regards,
> > Anil Gupta



> >
>



-- 
Thanks & Regards,
Anil Gupta

Reply via email to