Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase, mail # user - How to get coprocessor list by client API


+
Kyle Lin 2013-01-23, 08:18
+
jack 2013-01-24, 01:44
+
Kyle Lin 2013-01-24, 03:53
Copy link to this message
-
Re: How to get coprocessor list by client API
Jean-Marc Spaggiari 2013-01-24, 12:12
Hi Kyle,

This will give you all the attributs of the table, not just the
coprocessors, so don't forget to parse they key using
CP_HTD_ATTR_KEY_PATTERN ...

I will add in my ToDo to add a List<> getCoprocessors() method in
HTableInterface or HTableDescriptor...

JM

2013/1/23, Kyle Lin <[EMAIL PROTECTED]>:
> Hello JM
>
> It really works! Thanks a lot.
>
> Hello Jack
>
>     For each table, it needs to use htable.getTableDescriptor().
>
>     hbaseAdmin.getTableDescriptor only gets -ROOT- and .META.
>
>     So I use the code as follows,
>
> HTable htable = new HTable(config, tableName);
> HTableDescriptor htableDesc = *htable.getTableDescriptor()*;
> Map<ImmutableBytesWritable, ImmutableBytesWritable> maps > htableDesc.getValues();
> Set<Entry<ImmutableBytesWritable, ImmutableBytesWritable>> sets > maps.entrySet();
> for (Map.Entry<ImmutableBytesWritable, ImmutableBytesWritable> entrySet :
> sets) {
> String stringKey = Bytes.toString(entrySet.getKey().get());
> String stringValue = Bytes.toString(entrySet.getValue().get());
> System.out.println("key:" + stringKey + ", value:" + stringValue);
> }
> htable.close();
>
> Kyle
>
> 2013/1/24 jack <[EMAIL PROTECTED]>
>
>> Hi, Kyle
>>
>>         Configuration config = HBaseConfiguration.create();
>>         config.set("hbase.zookeeper.quorum", "host3");
>>         config.set("hbase.zookeeper.property.clientPort", "2181");
>>
>>         config.set("fs.default.name", "hdfs://host3:9000");
>>         config.set("mapred.job.tracker", "hdfs://host3:9001");
>>
>>         HBaseAdmin hbaseAdmin = new HBaseAdmin(config);
>>
>>         HTableDescriptor htableDescriptor >> hbaseAdmin.getTableDescriptor(Bytes.toBytes("table21"));
>>
>>         Map<ImmutableBytesWritable, ImmutableBytesWritable> maps >> htableDescriptor.getValues();
>>         Set<Entry<ImmutableBytesWritable, ImmutableBytesWritable>> sets >> maps.entrySet();
>>         Iterator<Entry<ImmutableBytesWritable, ImmutableBytesWritable>>
>> it
>> = sets.iterator();
>>         while(it.hasNext()){
>>                 Entry<ImmutableBytesWritable, ImmutableBytesWritable>
>> keys = it.next();
>>                 ImmutableBytesWritable ibwKey = keys.getKey();
>>                 ImmutableBytesWritable ibwValue = keys.getValue();
>>                 String stringKey = Bytes.toString(ibwKey.get());
>>                 String stringValue = Bytes.toString(ibwValue.get());
>>                 System.out.println(stringKey + "    " + stringValue);
>>         }
>>         hbaseAdmin.close();
>>
>>
>>
>>
>> ________________________________
>>  寄件者: Kyle Lin <[EMAIL PROTECTED]>
>> 收件者: [EMAIL PROTECTED]
>> 寄件日期: 2013/1/23 (週三) 4:18 PM
>> 主旨: How to get coprocessor list by client API
>>
>> Hi, Everyone
>>
>>     I need to know What coprocessors registered in a HTable. But, in
>> Class
>> HTableDescriptor, I can only find
>> *addCoprocessor<
>> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessor(java.lang.String)
>> >
>> *, *hasCoprocessor<
>> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html#hasCoprocessor(java.lang.String)
>> >
>> * ..etc. How can I use Client API to get the coprocessor information just
>> like Typing "describe table_name" in HBase Shell as follows?
>>
>>
>> hbase(main):002:0> describe 'table21'
>> DESCRIPTION
>>                   ENABLED
>> {NAME => 'table21', *coprocessor$1 =>
>> 'hdfs://host3:9000/sumCoprocessor.jar|idv.jack.endpoint true
>>                                *
>> * .SumDataEndpoint||'*, FAMILIES => [{NAME => 'cf', DATA_BLOCK_ENCODING
>> =>
>> 'NONE', BLOOMFILTER
>> => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION =>
>> 'NONE', MIN_VERSIONS =>
>>   '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE =>
>> '65536', IN_MEMORY =>
>>   'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}]}
>>
>> 1 row(s) in 0.0210 seconds
>>
>> Kyle
>>
>
+
Kyle Lin 2013-01-28, 09:05
+
Jean-Marc Spaggiari 2013-01-28, 12:32
+
Kyle Lin 2013-01-29, 06:39
+
Jean-Marc Spaggiari 2013-01-29, 20:25
+
Jean-Marc Spaggiari 2013-01-23, 12:39