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
+
Jean-Marc Spaggiari 2013-01-24, 12:12
+
Kyle Lin 2013-01-28, 09:05
+
Jean-Marc Spaggiari 2013-01-28, 12:32
+
Kyle Lin 2013-01-29, 06:39
Copy link to this message
-
Re: How to get coprocessor list by client API
Jean-Marc Spaggiari 2013-01-29, 20:25
Hi Kyle,

I this it's possible. I have already done that between 0.94.1 and 0.94.3.

JM

2013/1/29, Kyle Lin <[EMAIL PROTECTED]>:
> Hello JM
>
>     If I import 0.94.4 jar file on Client side for calling getCoprocessors
> to get list from server of old version(0.94.0), Is it possible?
>
> Kyle
>
> 2013/1/28 Jean-Marc Spaggiari <[EMAIL PROTECTED]>
>
>> Hi Kyle,
>>
>> If you are not running a production cluster, you might think about
>> getting the last 0.94.4 source code, apply HBASE-7654 and deploy it.
>> That way you can use getCoprocessors which will send you the list you
>> the list you are looking for...
>>
>> JM
>>
>> 2013/1/28, Kyle Lin <[EMAIL PROTECTED]>:
>> > Hi JM
>> >
>> >      I saw the source code of hasCoprocessor, and notice this CONTANT.
>> > Thanks for your hint.
>> >
>> > Kyle
>> >
>> > 2013/1/24 Jean-Marc Spaggiari <[EMAIL PROTECTED]>
>> >
>> >> 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]>
+
Jean-Marc Spaggiari 2013-01-23, 12:39