Retrieving nth qualifier in hbase using java

不问归期 提交于 2019-12-13 08:31:44

问题


This question is quite out of box but i need it.

In list(collection), we can retrieve the nth element in the list by list.get(i);

similarly is there any method, in hbase, using java API, where i can get the nth qualifier given the row id and ColumnFamily name.

NOTE: I have million qualifiers in single row in single columnFamily.


回答1:


Sorry for being unresponsive. Busy with something important. Try this for right now :

package org.myorg.hbasedemo;

import java.io.IOException;
import java.util.Scanner;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;

public class GetNthColunm {

    public static void main(String[] args) throws IOException {
        Configuration conf = HBaseConfiguration.create();
        HTable table = new HTable(conf, "TEST");
        Get g = new Get(Bytes.toBytes("4"));
        Result r = table.get(g);
        System.out.println("Enter column index :");
        Scanner reader = new Scanner(System.in);
        int index = reader.nextInt();
        System.out.println("index : " + index);
        int count = 0;      
        for (KeyValue kv : r.raw()) {
            if(++count!=index)
                continue;
            System.out.println("Qualifier : "
                    + Bytes.toString(kv.getQualifier()));
            System.out.println("Value : " + Bytes.toString(kv.getValue()));
        }       
        table.close();
        System.out.println("Done.");
    }
}

Will let you know if I get a better way to do this.



来源:https://stackoverflow.com/questions/23647908/retrieving-nth-qualifier-in-hbase-using-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!