Hi Pankaj,

You reached the Hadoop user lists. Not everyone here may be an HBase
user. Moving this to the HBase user lists ([email protected]).
Please use the right project's lists for best responses.

My reply inline.

On Wed, Sep 19, 2012 at 12:44 PM, Pankaj Misra
<[email protected]> wrote:
> Hi All,
>
> I have been searching around for the relevant information around building an 
> avro HBase client for the HBase Avro server running on a port(9090). I have 
> come across the HBase Definitive Guide, but even there I only see the the 
> server startup part in the documentation which I have already done.

I won't recommend using HBase Avro Server today, primarily cause it
had been marked for removal, and is removed:
https://issues.apache.org/jira/browse/HBASE-6553

Instead, try the REST or the Thrift server.

If you instead want to persist in using this anyway, read on.

> There are a few things that I do understand reading the avro and hbase 
> documentation. As per the documentation, HBase provides AvroServer.HBaseImpl, 
> which is a server side of the things. This implementation runs as a server 
> listening to a port (9090) and acts as a bridge between the AvroServer and 
> HBase. The operations supported are as described in the Hbase.avpr file.

The HBaseImpl is what you need actually. See the test-case
http://svn.apache.org/repos/asf/hbase/tags/0.94.1/src/test/java/org/apache/hadoop/hbase/avro/TestAvroServer.java
on how to implement an instance of HBaseImpl and use the various
objects such as ATableDescriptor, etc. with it. These generated
classes are already made available in the distribution.

> The doubts however I have are,
> 1. If I have to build a client that could connect to this port and could 
> create table, column families and insert data, what would it take?

See above.

> 2. Will I have to define a custom schema and have to generate classes out of 
> it?

Doubt it. The docs say you do not need to do this cause for Java
things are pre-provided in a distribution.

> 3. How would I connect to the Avro server running with HBase?

Your client should just specify the right server and port address for
the Avro server.

> 4. Since the communication is rpc based, how will I specify what operation is 
> to be performed at the server from the client?

Via the HBaseImpl client API, same as you'd do on a regular client :)

> As I see, the documentation on this issue is very little, hence I am seeking 
> help from the community.
>
> Requesting for help. Thanks.
>
> Regards
> Pankaj Misra
>
> ________________________________________
> From: Pankaj Misra
> Sent: Wednesday, September 19, 2012 9:32 AM
> To: [email protected]
> Subject: HBase Avro Client
>
> Hi All,
>
> I have been trying to find some help around building an Avro client for 
> HBase, but was not able to find much help, as most of the articles were 
> discussing stand-alone avro as a in-memory data format and serialization 
> engine.
>
> I was able to successfully start the avro server with
> $bin/hbase avro start
>
> The server starts up without any problems and runs on a port. Now I want to 
> build an avro hbase client to describe table, column families and to write 
> data into habase using this avro client.
>
> I intend to build this client in Java and my hbase version is 0.94.1. I could 
> also see java avro-tools jar version 1.7.1 in avro downloads. Do I need to 
> use this for building my client. Some clues around this would be very 
> helpful. Thanks.
>
> Thanks and Regards
> Pankaj Misra
>
>
> _
>
> ________________________________
>
> Impetus Ranked in the Top 50 India’s Best Companies to Work For 2012.
>
> Impetus webcast ‘Designing a Test Automation Framework for Multi-vendor 
> Interoperable Systems’ available at http://lf1.me/0E/.
>
>
> NOTE: This message may contain information that is confidential, proprietary, 
> privileged or otherwise protected by law. The message is intended solely for 
> the named addressee. If received in error, please destroy and notify the 
> sender. Any use of this email is prohibited when received in error. Impetus 
> does not represent, warrant and/or guarantee, that the integrity of this 
> communication has been maintained nor that the communication is free of 
> errors, virus, interception or interference.
>
> ________________________________
>
> Impetus Ranked in the Top 50 India’s Best Companies to Work For 2012.
>
> Impetus webcast ‘Designing a Test Automation Framework for Multi-vendor 
> Interoperable Systems’ available at http://lf1.me/0E/.
>
>
> NOTE: This message may contain information that is confidential, proprietary, 
> privileged or otherwise protected by law. The message is intended solely for 
> the named addressee. If received in error, please destroy and notify the 
> sender. Any use of this email is prohibited when received in error. Impetus 
> does not represent, warrant and/or guarantee, that the integrity of this 
> communication has been maintained nor that the communication is free of 
> errors, virus, interception or interference.



-- 
Harsh J

Reply via email to