final List<KeyValue> list = result.list();
for (final KeyValue it : list)
{
System.out.println(Bytes.toString(it.getKey()));
System.out.println(Bytes.toString(it.getValue()));
}
I can only get the last version! why ? Is there any testcase in Hbase?
On Thu, Feb 24, 2011 at 9:56 AM, 陈加俊 <[email protected]> wrote:
> /**
> * Create a sorted list of the KeyValue's in this result.
> *
> * @return The sorted list of KeyValue's.
> */
> public List<KeyValue> list() {
> if(this.kvs == null) {
> readFields();
> }
> return isEmpty()? null: Arrays.asList(sorted());
> }
>
> I will try it . Thank you very much!
>
> On Thu, Feb 24, 2011 at 9:45 AM, Buttler, David <[email protected]> wrote:
>
>> Result.list() ?
>> Putting the hbase source into your IDE of choice (yay Eclipse!) is really
>> helpful
>>
>> Dave
>>
>>
>> -----Original Message-----
>> From: 陈加俊 [mailto:[email protected]]
>> Sent: Wednesday, February 23, 2011 5:42 PM
>> To: [email protected]
>> Cc: Buttler, David
>> Subject: Re: I can't get many versions of the specified column,but only
>> get the latest version of the specified column
>>
>> Thank you David !
>>
>> I alter the table schema as follow:
>>
>> > alter 'cjjIndexPageModify', {NAME => 'log' , VERSIONS => 5 , METHOD =>
>> 'add'}
>>
>> How to iterate over KeyValues? which method in Result?
>>
>> On Thu, Feb 24, 2011 at 9:27 AM, Buttler, David <[email protected]>
>> wrote:
>>
>> > What is your table schema set to? By default it holds 3 versions.
>> > Also, you might iterating over KeyValues instead of using the Map since
>> you
>> > don't really care about the organization, just the time.
>> >
>> > Dave
>> >
>> > -----Original Message-----
>> > From: 陈加俊 [mailto:[email protected]]
>> > Sent: Wednesday, February 23, 2011 5:22 PM
>> > To: [email protected]
>> > Cc: Stack
>> > Subject: Re: I can't get many versions of the specified column,but only
>> get
>> > the latest version of the specified column
>> >
>> > I execute it five times at diffrent time.
>> >
>> > //put data by version
>> >
>> > final Put p = new Put(key); // key
>> > final long ts = System.currentTimeMillis();
>> > p.add(FAMILY, q1, ts,v1);
>> > p.add(FAMILY, q2, ts,v2);
>> > p.add(FAMILY, q3, ts,v3);
>> > table.put(p);
>> >
>> > So I can get five versions ,right?
>> >
>> > On Thu, Feb 24, 2011 at 2:06 AM, Stack <[email protected]> wrote:
>> >
>> > > What do you get for a result?
>> > >
>> > > You are only entering a single version of each column, a single
>> > > version of FAMILY:q1, a single version FAMILY:q2, and a FAMILY:q3.
>> > >
>> > > St.Ack
>> > >
>> > > On Wed, Feb 23, 2011 at 2:54 AM, 陈加俊 <[email protected]> wrote:
>> > > > I can't get many versions of the specified column,but only get the
>> > latest
>> > > > version of the specified column. Is there anyone help me?
>> > > >
>> > > > //put data by version
>> > > >
>> > > > final Put p = new Put(key); // key
>> > > > final long ts = System.currentTimeMillis();
>> > > > p.add(FAMILY, q1, ts,v1);
>> > > > p.add(FAMILY, q2, ts,v2);
>> > > > p.add(FAMILY, q3, ts,v3);
>> > > >
>> > > > table.put(p);
>> > > >
>> > > >
>> > > > //get all versions of data
>> > > >
>> > > > final Get get = new Get(key);
>> > > > get.addFamily(FAMILY);
>> > > > get.setMaxVersions(10);
>> > > > final Result result = htable.get(get);
>> > > >
>> > > > final NavigableMap<byte[], NavigableMap<byte[],
>> > > > NavigableMap<Long, byte[]>>> map = result.getMap();
>> > > > final Set<Entry<byte[], NavigableMap<byte[],
>> > > > NavigableMap<Long, byte[]>>>> entrySet = map.entrySet();
>> > > > final Iterator<Entry<byte[], NavigableMap<byte[],
>> > > > NavigableMap<Long, byte[]>>>> iterator = entrySet
>> > > > .iterator();
>> > > > while (iterator.hasNext())
>> > > > {
>> > > > final Entry<byte[], NavigableMap<byte[],
>> > > > NavigableMap<Long, byte[]>>> next = iterator.next();
>> > > > System.out.println(Bytes.toString(next.getKey()));
>> > //family
>> > > > for (final Entry<byte[], NavigableMap<Long, byte[]>>
>> > > > item : next.getValue().entrySet())
>> > > > {
>> > > > System.out.println(Bytes.toString(item.getKey()));
>> > > > for (final Entry<Long, byte[]> _item :
>> > > > item.getValue().entrySet())
>> > > > {
>> > > > System.out.println(_item.getKey()); //q
>> > > >
>> > > System.out.println(Bytes.toString(_item.getValue()));
>> > > > //value
>> > > > }
>> > > > }
>> > > >
>> > > > }
>> > > >
>> > > > --
>> > > > Thanks & Best regards
>> > > > jiajun
>> > > >
>> > >
>> >
>> >
>> >
>> > --
>> > Thanks & Best regards
>> > jiajun
>> >
>>
>>
>>
>> --
>> Thanks & Best regards
>> jiajun
>>
>
>
>
> --
> Thanks & Best regards
> jiajun
>
>
--
Thanks & Best regards
jiajun