Talking to HBase via tcp/socket

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

Talking to HBase via tcp/socket

Thiago Jackiw-2
Is there a way to interact with HBase via TCP/socket connection
directly instead of just using the REST api?

Thanks
Reply | Threaded
Open this post in threaded view
|

RE: Talking to HBase via tcp/socket

edward yoon

See https://issues.apache.org/jira/browse/HADOOP-2171
And, http://shell.hadoop.co.kr/PHPClient.php

It will help the use of Hbase APIs using HQL via socket server.
If your needs can be satisfied, you can stand by me.
I'll be pleased to do that work.

You order, therefore server is.

------------------------------

B. Regards,

Edward yoon @ NHN, corp.
Home : http://www.udanax.org


> Date: Thu, 6 Dec 2007 20:25:11 -0800
> From: [hidden email]
> To: [hidden email]
> Subject: Talking to HBase via tcp/socket
>
> Is there a way to interact with HBase via TCP/socket connection
> directly instead of just using the REST api?
>
> Thanks

_________________________________________________________________
Put your friends on the big screen with Windows Vista® + Windows Live™.
http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Thiago Jackiw-2
Edward,

Yeah I played before with that hbase php client. It's awesome. It's is
pretty much what I'm looking for in terms of using it from other
languages to interact via socket.

So, I was looking at hadoop's trunk but couldn't find that patch
applied. How can I take advantage of this feature before it gets
included into trunk?

Thanks a lot!

--
Thiago


On Dec 6, 2007 9:45 PM, edward yoon <[hidden email]> wrote:

>
> See https://issues.apache.org/jira/browse/HADOOP-2171
> And, http://shell.hadoop.co.kr/PHPClient.php
>
> It will help the use of Hbase APIs using HQL via socket server.
> If your needs can be satisfied, you can stand by me.
> I'll be pleased to do that work.
>
> You order, therefore server is.
>
> ------------------------------
>
> B. Regards,
>
> Edward yoon @ NHN, corp.
> Home : http://www.udanax.org
>
>
> > Date: Thu, 6 Dec 2007 20:25:11 -0800
> > From: [hidden email]
> > To: [hidden email]
> > Subject: Talking to HBase via tcp/socket
> >
> > Is there a way to interact with HBase via TCP/socket connection
> > directly instead of just using the REST api?
> >
> > Thanks
>
> _________________________________________________________________
> Put your friends on the big screen with Windows Vista(R) + Windows Live™.
> http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Thiago Jackiw-2
Replying to my own post. I've applied your patch to my local copy and
it works like a charm :D. Great work!

On Dec 7, 2007 12:32 AM, Thiago Jackiw <[hidden email]> wrote:

> Edward,
>
> Yeah I played before with that hbase php client. It's awesome. It's is
> pretty much what I'm looking for in terms of using it from other
> languages to interact via socket.
>
> So, I was looking at hadoop's trunk but couldn't find that patch
> applied. How can I take advantage of this feature before it gets
> included into trunk?
>
> Thanks a lot!
>
> --
> Thiago
>
>
> On Dec 6, 2007 9:45 PM, edward yoon <[hidden email]> wrote:
> >
> > See https://issues.apache.org/jira/browse/HADOOP-2171
> > And, http://shell.hadoop.co.kr/PHPClient.php
> >
> > It will help the use of Hbase APIs using HQL via socket server.
> > If your needs can be satisfied, you can stand by me.
> > I'll be pleased to do that work.
> >
> > You order, therefore server is.
> >
> > ------------------------------
> >
> > B. Regards,
> >
> > Edward yoon @ NHN, corp.
> > Home : http://www.udanax.org
> >
> >
> > > Date: Thu, 6 Dec 2007 20:25:11 -0800
> > > From: [hidden email]
> > > To: [hidden email]
> > > Subject: Talking to HBase via tcp/socket
> > >
> > > Is there a way to interact with HBase via TCP/socket connection
> > > directly instead of just using the REST api?
> > >
> > > Thanks
> >
> > _________________________________________________________________
> > Put your friends on the big screen with Windows Vista(R) + Windows Live™.
>
> > http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007
>
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Billy Pearson-2
I also got some basic php functions that you can have a copy of that will
work with the rest interface if you like I can email you a copy of what I
got working do far. It does basic stuff table_info, regions report,
insert,delete,select,scanner but I still got some more formatting stuff to
add and functions.

Billy



"Thiago Jackiw" <[hidden email]> wrote in
message news:[hidden email]...
Replying to my own post. I've applied your patch to my local copy and
it works like a charm :D. Great work!

On Dec 7, 2007 12:32 AM, Thiago Jackiw
<[hidden email]> wrote:

> Edward,
>
> Yeah I played before with that hbase php client. It's awesome. It's is
> pretty much what I'm looking for in terms of using it from other
> languages to interact via socket.
>
> So, I was looking at hadoop's trunk but couldn't find that patch
> applied. How can I take advantage of this feature before it gets
> included into trunk?
>
> Thanks a lot!
>
> --
> Thiago
>
>
> On Dec 6, 2007 9:45 PM, edward yoon
> <[hidden email]> wrote:
> >
> > See https://issues.apache.org/jira/browse/HADOOP-2171
> > And, http://shell.hadoop.co.kr/PHPClient.php
> >
> > It will help the use of Hbase APIs using HQL via socket server.
> > If your needs can be satisfied, you can stand by me.
> > I'll be pleased to do that work.
> >
> > You order, therefore server is.
> >
> > ------------------------------
> >
> > B. Regards,
> >
> > Edward yoon @ NHN, corp.
> > Home : http://www.udanax.org
> >
> >
> > > Date: Thu, 6 Dec 2007 20:25:11 -0800
> > > From: [hidden email]
> > > To: [hidden email]
> > > Subject: Talking to HBase via tcp/socket
> > >
> > > Is there a way to interact with HBase via TCP/socket connection
> > > directly instead of just using the REST api?
> > >
> > > Thanks
> >
> > _________________________________________________________________
> > Put your friends on the big screen with Windows Vista(R) + Windows
> > Live™.
>
> > http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007
>



Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Bryan Duxbury-2
In reply to this post by Thiago Jackiw-2
What's the motivation for using straight a straight TCP socket rather  
than REST? The motivation behind producing a REST interface in the  
first place is that since the client still lives in Java, then we get  
to take advantage of all the built-in Java client work that's been  
done. If you're looking for a more lightweight way to interact with  
HBase (since REST can be a little heavy at times), then rather than  
go the HQL route, I would suggest exploring building a Thrift servlet  
that mimics the structure of the REST servlet. This is something  
that's been discussed as a next step for HBase interoperability.

-Bryan

On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:

> Is there a way to interact with HBase via TCP/socket connection
> directly instead of just using the REST api?
>
> Thanks

Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Thiago Jackiw-2
The are a few reasons why I wanted to go with Socket instead of REST,
to name a couple:

- By applying Edward's patch I was able to gain access to the 'entire'
HBase interface, from creating to deleting tables, etc, which I
couldn't do with REST. Is this flexibility something sought for future
development?
-  Performance gain. Working with xml can sometimes be problematic and 'heavy'.

> I would suggest exploring building a Thrift servlet that mimics the structure of the REST servlet
That could work if I knew Java :P

Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to you guys.

--
Thiago


On Dec 7, 2007 10:42 AM, Bryan Duxbury <[hidden email]> wrote:

> What's the motivation for using straight a straight TCP socket rather
> than REST? The motivation behind producing a REST interface in the
> first place is that since the client still lives in Java, then we get
> to take advantage of all the built-in Java client work that's been
> done. If you're looking for a more lightweight way to interact with
> HBase (since REST can be a little heavy at times), then rather than
> go the HQL route, I would suggest exploring building a Thrift servlet
> that mimics the structure of the REST servlet. This is something
> that's been discussed as a next step for HBase interoperability.
>
> -Bryan
>
>
> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>
> > Is there a way to interact with HBase via TCP/socket connection
> > directly instead of just using the REST api?
> >
> > Thanks
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Bryan Duxbury-2
There's nothing stopping us from creating REST "methods" for creating/
deleting tables. That's mostly a question of whether or not we want  
to expose the functionality elsewhere than the shell. You could  
create a ticket for that and we can discuss it.

I agree that XML can be heavy, which is why we are implementing the  
ability to use the "Accept: multipart/related" header to get back the  
data as pure binary with boundaries. This should alleviate the  
overhead of using XML for the most part.

Hey, I hardly know Java, and I'm hacking all sorts of stuff!  
Seriously though, I think that as far as performant cross-platform  
access goes, the future is a Thrift servlet. I don't have a timeline  
on that at all yet.

-Bryan

On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:

> The are a few reasons why I wanted to go with Socket instead of REST,
> to name a couple:
>
> - By applying Edward's patch I was able to gain access to the 'entire'
> HBase interface, from creating to deleting tables, etc, which I
> couldn't do with REST. Is this flexibility something sought for future
> development?
> -  Performance gain. Working with xml can sometimes be problematic  
> and 'heavy'.
>
>> I would suggest exploring building a Thrift servlet that mimics  
>> the structure of the REST servlet
> That could work if I knew Java :P
>
> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to  
> you guys.
>
> --
> Thiago
>
>
> On Dec 7, 2007 10:42 AM, Bryan Duxbury <[hidden email]> wrote:
>> What's the motivation for using straight a straight TCP socket rather
>> than REST? The motivation behind producing a REST interface in the
>> first place is that since the client still lives in Java, then we get
>> to take advantage of all the built-in Java client work that's been
>> done. If you're looking for a more lightweight way to interact with
>> HBase (since REST can be a little heavy at times), then rather than
>> go the HQL route, I would suggest exploring building a Thrift servlet
>> that mimics the structure of the REST servlet. This is something
>> that's been discussed as a next step for HBase interoperability.
>>
>> -Bryan
>>
>>
>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>
>>> Is there a way to interact with HBase via TCP/socket connection
>>> directly instead of just using the REST api?
>>>
>>> Thanks
>>
>>

Reply | Threaded
Open this post in threaded view
|

RE: Talking to HBase via tcp/socket

edward yoon
In reply to this post by Thiago Jackiw-2

Thanks for your reply.I’m frightfully glad.
 
------------------------------
B. Regards,
Edward yoon @ NHN, corp.
Home : http://www.udanax.org> Date: Fri, 7 Dec 2007 01:25:09 -0800> From: [hidden email]> To: [hidden email]> Subject: Re: Talking to HBase via tcp/socket> > Replying to my own post. I've applied your patch to my local copy and> it works like a charm :D. Great work!> > On Dec 7, 2007 12:32 AM, Thiago Jackiw <[hidden email]> wrote:> > Edward,> >> > Yeah I played before with that hbase php client. It's awesome. It's is> > pretty much what I'm looking for in terms of using it from other> > languages to interact via socket.> >> > So, I was looking at hadoop's trunk but couldn't find that patch> > applied. How can I take advantage of this feature before it gets> > included into trunk?> >> > Thanks a lot!> >> > --> > Thiago> >> >> > On Dec 6, 2007 9:45 PM, edward yoon <[hidden email]> wrote:> > >> > > See https://issues.apache.org/jira/browse/HADOOP-2171> > > And, http://shell.hadoop.co.kr/PHPClient.php> > >> > > It will help the use of Hbase APIs using HQL via socket server.> > > If your needs can be satisfied, you can stand by me.> > > I'll be pleased to do that work.> > >> > > You order, therefore server is.> > >> > > ------------------------------> > >> > > B. Regards,> > >> > > Edward yoon @ NHN, corp.> > > Home : http://www.udanax.org> > >> > >> > > > Date: Thu, 6 Dec 2007 20:25:11 -0800> > > > From: [hidden email]> > > > To: [hidden email]> > > > Subject: Talking to HBase via tcp/socket> > > >> > > > Is there a way to interact with HBase via TCP/socket connection> > > > directly instead of just using the REST api?> > > >> > > > Thanks> > >> > > _________________________________________________________________> > > Put your friends on the big screen with Windows Vista(R) + Windows Live™.> >> > > http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007> >
_________________________________________________________________
Connect and share in new ways with Windows Live.
http://www.windowslive.com/connect.html?ocid=TXT_TAGLM_Wave2_newways_112007
Reply | Threaded
Open this post in threaded view
|

RE: Talking to HBase via tcp/socket

edward yoon
In reply to this post by Thiago Jackiw-2

 edward: we are probably going to build a Thrift based interface to HBase so a socket interface to HQL will probably not be necessary


Sorry, I have no permission from Hbase comitters.

------------------------------

B. Regards,

Edward yoon @ NHN, corp.
Home : http://www.udanax.org


> Date: Fri, 7 Dec 2007 00:32:25 -0800
> From: [hidden email]
> To: [hidden email]
> Subject: Re: Talking to HBase via tcp/socket
>
> Edward,
>
> Yeah I played before with that hbase php client. It's awesome. It's is
> pretty much what I'm looking for in terms of using it from other
> languages to interact via socket.
>
> So, I was looking at hadoop's trunk but couldn't find that patch
> applied. How can I take advantage of this feature before it gets
> included into trunk?
>
> Thanks a lot!
>
> --
> Thiago
>
>
> On Dec 6, 2007 9:45 PM, edward yoon  wrote:
>>
>> See https://issues.apache.org/jira/browse/HADOOP-2171
>> And, http://shell.hadoop.co.kr/PHPClient.php
>>
>> It will help the use of Hbase APIs using HQL via socket server.
>> If your needs can be satisfied, you can stand by me.
>> I'll be pleased to do that work.
>>
>> You order, therefore server is.
>>
>> ------------------------------
>>
>> B. Regards,
>>
>> Edward yoon @ NHN, corp.
>> Home : http://www.udanax.org
>>
>>
>>> Date: Thu, 6 Dec 2007 20:25:11 -0800
>>> From: [hidden email]
>>> To: [hidden email]
>>> Subject: Talking to HBase via tcp/socket
>>>
>>> Is there a way to interact with HBase via TCP/socket connection
>>> directly instead of just using the REST api?
>>>
>>> Thanks
>>
>> _________________________________________________________________
>> Put your friends on the big screen with Windows Vista(R) + Windows Live™.
>> http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007

_________________________________________________________________
Connect and share in new ways with Windows Live.
http://www.windowslive.com/connect.html?ocid=TXT_TAGLM_Wave2_newways_112007
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Chad Walters
In reply to this post by Bryan Duxbury-2

The heavy lifting in this exercise is mainly in designing the RPC calls themselves - after that, it is probably a simple matter of programming.

Anyone want to take a crack at it?

Chad


On 12/7/07 11:52 AM, "Bryan Duxbury" <[hidden email]> wrote:

There's nothing stopping us from creating REST "methods" for creating/
deleting tables. That's mostly a question of whether or not we want
to expose the functionality elsewhere than the shell. You could
create a ticket for that and we can discuss it.

I agree that XML can be heavy, which is why we are implementing the
ability to use the "Accept: multipart/related" header to get back the
data as pure binary with boundaries. This should alleviate the
overhead of using XML for the most part.

Hey, I hardly know Java, and I'm hacking all sorts of stuff!
Seriously though, I think that as far as performant cross-platform
access goes, the future is a Thrift servlet. I don't have a timeline
on that at all yet.

-Bryan

On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:

> The are a few reasons why I wanted to go with Socket instead of REST,
> to name a couple:
>
> - By applying Edward's patch I was able to gain access to the 'entire'
> HBase interface, from creating to deleting tables, etc, which I
> couldn't do with REST. Is this flexibility something sought for future
> development?
> -  Performance gain. Working with xml can sometimes be problematic
> and 'heavy'.
>
>> I would suggest exploring building a Thrift servlet that mimics
>> the structure of the REST servlet
> That could work if I knew Java :P
>
> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
> you guys.
>
> --
> Thiago
>
>
> On Dec 7, 2007 10:42 AM, Bryan Duxbury <[hidden email]> wrote:
>> What's the motivation for using straight a straight TCP socket rather
>> than REST? The motivation behind producing a REST interface in the
>> first place is that since the client still lives in Java, then we get
>> to take advantage of all the built-in Java client work that's been
>> done. If you're looking for a more lightweight way to interact with
>> HBase (since REST can be a little heavy at times), then rather than
>> go the HQL route, I would suggest exploring building a Thrift servlet
>> that mimics the structure of the REST servlet. This is something
>> that's been discussed as a next step for HBase interoperability.
>>
>> -Bryan
>>
>>
>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>
>>> Is there a way to interact with HBase via TCP/socket connection
>>> directly instead of just using the REST api?
>>>
>>> Thanks
>>
>>



Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Bryan Duxbury-2
I have created http://wiki.apache.org/lucene-hadoop/Hbase/ThriftApi 
for us to discuss and collaborate on a Thrift-based client api.

-Bryan

On Dec 7, 2007, at 10:44 PM, Chad Walters wrote:

>
> The heavy lifting in this exercise is mainly in designing the RPC  
> calls themselves - after that, it is probably a simple matter of  
> programming.
>
> Anyone want to take a crack at it?
>
> Chad
>
>
> On 12/7/07 11:52 AM, "Bryan Duxbury" <[hidden email]> wrote:
>
> There's nothing stopping us from creating REST "methods" for creating/
> deleting tables. That's mostly a question of whether or not we want
> to expose the functionality elsewhere than the shell. You could
> create a ticket for that and we can discuss it.
>
> I agree that XML can be heavy, which is why we are implementing the
> ability to use the "Accept: multipart/related" header to get back the
> data as pure binary with boundaries. This should alleviate the
> overhead of using XML for the most part.
>
> Hey, I hardly know Java, and I'm hacking all sorts of stuff!
> Seriously though, I think that as far as performant cross-platform
> access goes, the future is a Thrift servlet. I don't have a timeline
> on that at all yet.
>
> -Bryan
>
> On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:
>
>> The are a few reasons why I wanted to go with Socket instead of REST,
>> to name a couple:
>>
>> - By applying Edward's patch I was able to gain access to the  
>> 'entire'
>> HBase interface, from creating to deleting tables, etc, which I
>> couldn't do with REST. Is this flexibility something sought for  
>> future
>> development?
>> -  Performance gain. Working with xml can sometimes be problematic
>> and 'heavy'.
>>
>>> I would suggest exploring building a Thrift servlet that mimics
>>> the structure of the REST servlet
>> That could work if I knew Java :P
>>
>> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
>> you guys.
>>
>> --
>> Thiago
>>
>>
>> On Dec 7, 2007 10:42 AM, Bryan Duxbury <[hidden email]> wrote:
>>> What's the motivation for using straight a straight TCP socket  
>>> rather
>>> than REST? The motivation behind producing a REST interface in the
>>> first place is that since the client still lives in Java, then we  
>>> get
>>> to take advantage of all the built-in Java client work that's been
>>> done. If you're looking for a more lightweight way to interact with
>>> HBase (since REST can be a little heavy at times), then rather than
>>> go the HQL route, I would suggest exploring building a Thrift  
>>> servlet
>>> that mimics the structure of the REST servlet. This is something
>>> that's been discussed as a next step for HBase interoperability.
>>>
>>> -Bryan
>>>
>>>
>>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>>
>>>> Is there a way to interact with HBase via TCP/socket connection
>>>> directly instead of just using the REST api?
>>>>
>>>> Thanks
>>>
>>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

RE: Talking to HBase via tcp/socket

edward yoon
In reply to this post by Chad Walters

My notebook have both USB port and PS/2 port.
But, the maker didn't say PS/2 port is a unnecessary thing.

Premature withdrawal of traditional interface will guarantee failure.

Thanks,
Edward.
------------------------------
B. Regards,

Edward yoon @ NHN, corp.
Home : http://www.udanax.org

> From: [hidden email]
> To: [hidden email]
> Date: Fri, 7 Dec 2007 22:44:51 -0800
> Subject: Re: Talking to HBase via tcp/socket
>
>
> The heavy lifting in this exercise is mainly in designing the RPC calls themselves - after that, it is probably a simple matter of programming.
>
> Anyone want to take a crack at it?
>
> Chad
>
>
> On 12/7/07 11:52 AM, "Bryan Duxbury"  wrote:
>
> There's nothing stopping us from creating REST "methods" for creating/
> deleting tables. That's mostly a question of whether or not we want
> to expose the functionality elsewhere than the shell. You could
> create a ticket for that and we can discuss it.
>
> I agree that XML can be heavy, which is why we are implementing the
> ability to use the "Accept: multipart/related" header to get back the
> data as pure binary with boundaries. This should alleviate the
> overhead of using XML for the most part.
>
> Hey, I hardly know Java, and I'm hacking all sorts of stuff!
> Seriously though, I think that as far as performant cross-platform
> access goes, the future is a Thrift servlet. I don't have a timeline
> on that at all yet.
>
> -Bryan
>
> On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:
>
>> The are a few reasons why I wanted to go with Socket instead of REST,
>> to name a couple:
>>
>> - By applying Edward's patch I was able to gain access to the 'entire'
>> HBase interface, from creating to deleting tables, etc, which I
>> couldn't do with REST. Is this flexibility something sought for future
>> development?
>> - Performance gain. Working with xml can sometimes be problematic
>> and 'heavy'.
>>
>>> I would suggest exploring building a Thrift servlet that mimics
>>> the structure of the REST servlet
>> That could work if I knew Java :P
>>
>> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
>> you guys.
>>
>> --
>> Thiago
>>
>>
>> On Dec 7, 2007 10:42 AM, Bryan Duxbury  wrote:
>>> What's the motivation for using straight a straight TCP socket rather
>>> than REST? The motivation behind producing a REST interface in the
>>> first place is that since the client still lives in Java, then we get
>>> to take advantage of all the built-in Java client work that's been
>>> done. If you're looking for a more lightweight way to interact with
>>> HBase (since REST can be a little heavy at times), then rather than
>>> go the HQL route, I would suggest exploring building a Thrift servlet
>>> that mimics the structure of the REST servlet. This is something
>>> that's been discussed as a next step for HBase interoperability.
>>>
>>> -Bryan
>>>
>>>
>>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>>
>>>> Is there a way to interact with HBase via TCP/socket connection
>>>> directly instead of just using the REST api?
>>>>
>>>> Thanks
>>>
>>>
>
>
>

_________________________________________________________________
You keep typing, we keep giving. Download Messenger and join the i’m Initiative now.
http://im.live.com/messenger/im/home/?source=TAGLM
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Bryan Duxbury-2
Except, there is NO traditional interface for HBase. We have the  
choice to build whatever interface we want.

I think the fundamental difference between Thrift/REST and an HQL  
socket server would be the TYPE of the interface. Thrift/REST mostly  
matches the existing underlying API (Thrift more so than REST), but  
HQL requires us to develop and maintain a whole SQL-like syntax, and  
to redefine our operations in terms of SQL, and figure out good ways  
to manage bulk of data that can be returned, and it wouldn't even be  
aligned with any known standard, so completely fresh client libraries  
for every language. It just seems like a lot more effort for what  
results in a more complex interface than we get with our other efforts.

On Dec 8, 2007, at 3:36 AM, edward yoon wrote:

>
> My notebook have both USB port and PS/2 port.
> But, the maker didn't say PS/2 port is a unnecessary thing.
>
> Premature withdrawal of traditional interface will guarantee failure.
>
> Thanks,
> Edward.
> ------------------------------
> B. Regards,
>
> Edward yoon @ NHN, corp.
> Home : http://www.udanax.org
>
>> From: [hidden email]
>> To: [hidden email]
>> Date: Fri, 7 Dec 2007 22:44:51 -0800
>> Subject: Re: Talking to HBase via tcp/socket
>>
>>
>> The heavy lifting in this exercise is mainly in designing the RPC  
>> calls themselves - after that, it is probably a simple matter of  
>> programming.
>>
>> Anyone want to take a crack at it?
>>
>> Chad
>>
>>
>> On 12/7/07 11:52 AM, "Bryan Duxbury"  wrote:
>>
>> There's nothing stopping us from creating REST "methods" for  
>> creating/
>> deleting tables. That's mostly a question of whether or not we want
>> to expose the functionality elsewhere than the shell. You could
>> create a ticket for that and we can discuss it.
>>
>> I agree that XML can be heavy, which is why we are implementing the
>> ability to use the "Accept: multipart/related" header to get back the
>> data as pure binary with boundaries. This should alleviate the
>> overhead of using XML for the most part.
>>
>> Hey, I hardly know Java, and I'm hacking all sorts of stuff!
>> Seriously though, I think that as far as performant cross-platform
>> access goes, the future is a Thrift servlet. I don't have a timeline
>> on that at all yet.
>>
>> -Bryan
>>
>> On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:
>>
>>> The are a few reasons why I wanted to go with Socket instead of  
>>> REST,
>>> to name a couple:
>>>
>>> - By applying Edward's patch I was able to gain access to the  
>>> 'entire'
>>> HBase interface, from creating to deleting tables, etc, which I
>>> couldn't do with REST. Is this flexibility something sought for  
>>> future
>>> development?
>>> - Performance gain. Working with xml can sometimes be problematic
>>> and 'heavy'.
>>>
>>>> I would suggest exploring building a Thrift servlet that mimics
>>>> the structure of the REST servlet
>>> That could work if I knew Java :P
>>>
>>> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
>>> you guys.
>>>
>>> --
>>> Thiago
>>>
>>>
>>> On Dec 7, 2007 10:42 AM, Bryan Duxbury  wrote:
>>>> What's the motivation for using straight a straight TCP socket  
>>>> rather
>>>> than REST? The motivation behind producing a REST interface in the
>>>> first place is that since the client still lives in Java, then  
>>>> we get
>>>> to take advantage of all the built-in Java client work that's been
>>>> done. If you're looking for a more lightweight way to interact with
>>>> HBase (since REST can be a little heavy at times), then rather than
>>>> go the HQL route, I would suggest exploring building a Thrift  
>>>> servlet
>>>> that mimics the structure of the REST servlet. This is something
>>>> that's been discussed as a next step for HBase interoperability.
>>>>
>>>> -Bryan
>>>>
>>>>
>>>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>>>
>>>>> Is there a way to interact with HBase via TCP/socket connection
>>>>> directly instead of just using the REST api?
>>>>>
>>>>> Thanks
>>>>
>>>>
>>
>>
>>
>
> _________________________________________________________________
> You keep typing, we keep giving. Download Messenger and join the  
> i’m Initiative now.
> http://im.live.com/messenger/im/home/?source=TAGLM

Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Chad Walters

I think we might be talking past each other a little bit here. Here is my attempt to clarify my suggestion and some of my thinking - hopefully it will help.

First, let me state that I fully support the notion of a socket based interface to Hbase.
The REST API is a great starter API - low barrier to entry for many developers to start playing with Hbase but probably not what you want for heavy lifting.

Also, let me clear up one possible misunderstanding: Thrift does provide a traditional socket transport.

The key thing is that Thrift provides a nice object-based interface on top of that socket transport and it will generate client bindings for a whole host of languages (C++, Java, Ruby, PHP, Python, Perl, Erlang, Haskell, Ocaml so far). This will allow better programming abstractions for clients in those languages - they will work with native objects and Thrift will handle all the marshalling and unmarshalling and the details of the transport mechanism.

So basically, I think I am supporting the thinking behind the work that Edward has done on the socket server - I am just suggesting that the implementation would be more full-featured, support more languages, and be developer-friendly if we do it using Thrift. I also don't think it is a tremendous amount of work - like I said the heavy lifting is probably in designing the APIs (Bryan, thanks for setting up the Wiki page for that).

The current notion that we are kicking around is to wrap the Java Hbase client in a server that exposes Thrift interfaces to do all the things the Hbase client can do. That becomes a gateway that can be communicated with over standard sockets by making use of the Thrift client bindings. The reason I think this is the way to go, at least for now, is because I expect the Java Hbase client will become more and more full-featured soon (various kinds of caching, scanner read-ahead buffers, etc.) and I think we should avoid having to implement those features in multiple languages until the project becomes a lot more mature. Also, if there are multiple Hbase client processes on a single machine, the gateway will allow any caching or buffering to be shared across those processes. Eventually, all the Hbase RPC could be converted over to Thrift and then those who really wanted to could port the Hbase client to other languages - although I'd recommend that we hold off on that for quite some time.

It seems to me that the HQL issue is actually orthogonal to this one. I think there is room for an RPC interface that executes direct Hbase calls and one that allows for executing HQL. HQL also provides a nice implementation-independent compatibility mechanism for other Hbase-like systems - for example, we have talked with the Hypertable folks and they are planning to adopt HQL syntax as well. We probably need to build some kind of standard around HQL as well.

WRT to Bryan concerns about fresh client libraries for each language, I think the gateway notion can take care of that: the HQL translation into lower-level Hbase commands can simply be implemented there, either inside the Java Hbase client or as an add-on jar.

I do share Bryan's concerns about HQL in terms of whether it truly exploits the full parallelism of Hbase, especially if one is expecting to issue a single query and return data from across the entire key space. Perhaps I am missing something but I think this area needs a little more exploration. I'll try to put together some thoughts on this if I get the time.

Chad


On 12/8/07 9:43 AM, "Bryan Duxbury" <[hidden email]> wrote:

Except, there is NO traditional interface for HBase. We have the
choice to build whatever interface we want.

I think the fundamental difference between Thrift/REST and an HQL
socket server would be the TYPE of the interface. Thrift/REST mostly
matches the existing underlying API (Thrift more so than REST), but
HQL requires us to develop and maintain a whole SQL-like syntax, and
to redefine our operations in terms of SQL, and figure out good ways
to manage bulk of data that can be returned, and it wouldn't even be
aligned with any known standard, so completely fresh client libraries
for every language. It just seems like a lot more effort for what
results in a more complex interface than we get with our other efforts.

On Dec 8, 2007, at 3:36 AM, edward yoon wrote:

>
> My notebook have both USB port and PS/2 port.
> But, the maker didn't say PS/2 port is a unnecessary thing.
>
> Premature withdrawal of traditional interface will guarantee failure.
>
> Thanks,
> Edward.
> ------------------------------
> B. Regards,
>
> Edward yoon @ NHN, corp.
> Home : http://www.udanax.org
>
>> From: [hidden email]
>> To: [hidden email]
>> Date: Fri, 7 Dec 2007 22:44:51 -0800
>> Subject: Re: Talking to HBase via tcp/socket
>>
>>
>> The heavy lifting in this exercise is mainly in designing the RPC
>> calls themselves - after that, it is probably a simple matter of
>> programming.
>>
>> Anyone want to take a crack at it?
>>
>> Chad
>>
>>
>> On 12/7/07 11:52 AM, "Bryan Duxbury"  wrote:
>>
>> There's nothing stopping us from creating REST "methods" for
>> creating/
>> deleting tables. That's mostly a question of whether or not we want
>> to expose the functionality elsewhere than the shell. You could
>> create a ticket for that and we can discuss it.
>>
>> I agree that XML can be heavy, which is why we are implementing the
>> ability to use the "Accept: multipart/related" header to get back the
>> data as pure binary with boundaries. This should alleviate the
>> overhead of using XML for the most part.
>>
>> Hey, I hardly know Java, and I'm hacking all sorts of stuff!
>> Seriously though, I think that as far as performant cross-platform
>> access goes, the future is a Thrift servlet. I don't have a timeline
>> on that at all yet.
>>
>> -Bryan
>>
>> On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:
>>
>>> The are a few reasons why I wanted to go with Socket instead of
>>> REST,
>>> to name a couple:
>>>
>>> - By applying Edward's patch I was able to gain access to the
>>> 'entire'
>>> HBase interface, from creating to deleting tables, etc, which I
>>> couldn't do with REST. Is this flexibility something sought for
>>> future
>>> development?
>>> - Performance gain. Working with xml can sometimes be problematic
>>> and 'heavy'.
>>>
>>>> I would suggest exploring building a Thrift servlet that mimics
>>>> the structure of the REST servlet
>>> That could work if I knew Java :P
>>>
>>> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
>>> you guys.
>>>
>>> --
>>> Thiago
>>>
>>>
>>> On Dec 7, 2007 10:42 AM, Bryan Duxbury  wrote:
>>>> What's the motivation for using straight a straight TCP socket
>>>> rather
>>>> than REST? The motivation behind producing a REST interface in the
>>>> first place is that since the client still lives in Java, then
>>>> we get
>>>> to take advantage of all the built-in Java client work that's been
>>>> done. If you're looking for a more lightweight way to interact with
>>>> HBase (since REST can be a little heavy at times), then rather than
>>>> go the HQL route, I would suggest exploring building a Thrift
>>>> servlet
>>>> that mimics the structure of the REST servlet. This is something
>>>> that's been discussed as a next step for HBase interoperability.
>>>>
>>>> -Bryan
>>>>
>>>>
>>>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>>>
>>>>> Is there a way to interact with HBase via TCP/socket connection
>>>>> directly instead of just using the REST api?
>>>>>
>>>>> Thanks
>>>>
>>>>
>>
>>
>>
>
> _________________________________________________________________
> You keep typing, we keep giving. Download Messenger and join the
> i'm Initiative now.
> http://im.live.com/messenger/im/home/?source=TAGLM



Reply | Threaded
Open this post in threaded view
|

RE: Talking to HBase via tcp/socket

edward yoon

Good idea, chad.
Isn't it so much better when we discuss like this, rather than unilateral condemn one another? :)

------------------------------

B. Regards,

Edward yoon @ NHN, corp.
Home : http://www.udanax.org


> From: [hidden email]
> To: [hidden email]
> Date: Sat, 8 Dec 2007 10:58:21 -0800
> Subject: Re: Talking to HBase via tcp/socket
>
>
> I think we might be talking past each other a little bit here. Here is my attempt to clarify my suggestion and some of my thinking - hopefully it will help.
>
> First, let me state that I fully support the notion of a socket based interface to Hbase.
> The REST API is a great starter API - low barrier to entry for many developers to start playing with Hbase but probably not what you want for heavy lifting.
>
> Also, let me clear up one possible misunderstanding: Thrift does provide a traditional socket transport.
>
> The key thing is that Thrift provides a nice object-based interface on top of that socket transport and it will generate client bindings for a whole host of languages (C++, Java, Ruby, PHP, Python, Perl, Erlang, Haskell, Ocaml so far). This will allow better programming abstractions for clients in those languages - they will work with native objects and Thrift will handle all the marshalling and unmarshalling and the details of the transport mechanism.
>
> So basically, I think I am supporting the thinking behind the work that Edward has done on the socket server - I am just suggesting that the implementation would be more full-featured, support more languages, and be developer-friendly if we do it using Thrift. I also don't think it is a tremendous amount of work - like I said the heavy lifting is probably in designing the APIs (Bryan, thanks for setting up the Wiki page for that).
>
> The current notion that we are kicking around is to wrap the Java Hbase client in a server that exposes Thrift interfaces to do all the things the Hbase client can do. That becomes a gateway that can be communicated with over standard sockets by making use of the Thrift client bindings. The reason I think this is the way to go, at least for now, is because I expect the Java Hbase client will become more and more full-featured soon (various kinds of caching, scanner read-ahead buffers, etc.) and I think we should avoid having to implement those features in multiple languages until the project becomes a lot more mature. Also, if there are multiple Hbase client processes on a single machine, the gateway will allow any caching or buffering to be shared across those processes. Eventually, all the Hbase RPC could be converted over to Thrift and then those who really wanted to could port the Hbase client to other languages - although I'd recommend that we hold off on that for quite some time.
>
> It seems to me that the HQL issue is actually orthogonal to this one. I think there is room for an RPC interface that executes direct Hbase calls and one that allows for executing HQL. HQL also provides a nice implementation-independent compatibility mechanism for other Hbase-like systems - for example, we have talked with the Hypertable folks and they are planning to adopt HQL syntax as well. We probably need to build some kind of standard around HQL as well.
>
> WRT to Bryan concerns about fresh client libraries for each language, I think the gateway notion can take care of that: the HQL translation into lower-level Hbase commands can simply be implemented there, either inside the Java Hbase client or as an add-on jar.
>
> I do share Bryan's concerns about HQL in terms of whether it truly exploits the full parallelism of Hbase, especially if one is expecting to issue a single query and return data from across the entire key space. Perhaps I am missing something but I think this area needs a little more exploration. I'll try to put together some thoughts on this if I get the time.
>
> Chad
>
>
> On 12/8/07 9:43 AM, "Bryan Duxbury"  wrote:
>
> Except, there is NO traditional interface for HBase. We have the
> choice to build whatever interface we want.
>
> I think the fundamental difference between Thrift/REST and an HQL
> socket server would be the TYPE of the interface. Thrift/REST mostly
> matches the existing underlying API (Thrift more so than REST), but
> HQL requires us to develop and maintain a whole SQL-like syntax, and
> to redefine our operations in terms of SQL, and figure out good ways
> to manage bulk of data that can be returned, and it wouldn't even be
> aligned with any known standard, so completely fresh client libraries
> for every language. It just seems like a lot more effort for what
> results in a more complex interface than we get with our other efforts.
>
> On Dec 8, 2007, at 3:36 AM, edward yoon wrote:
>
>>
>> My notebook have both USB port and PS/2 port.
>> But, the maker didn't say PS/2 port is a unnecessary thing.
>>
>> Premature withdrawal of traditional interface will guarantee failure.
>>
>> Thanks,
>> Edward.
>> ------------------------------
>> B. Regards,
>>
>> Edward yoon @ NHN, corp.
>> Home : http://www.udanax.org
>>
>>> From: [hidden email]
>>> To: [hidden email]
>>> Date: Fri, 7 Dec 2007 22:44:51 -0800
>>> Subject: Re: Talking to HBase via tcp/socket
>>>
>>>
>>> The heavy lifting in this exercise is mainly in designing the RPC
>>> calls themselves - after that, it is probably a simple matter of
>>> programming.
>>>
>>> Anyone want to take a crack at it?
>>>
>>> Chad
>>>
>>>
>>> On 12/7/07 11:52 AM, "Bryan Duxbury" wrote:
>>>
>>> There's nothing stopping us from creating REST "methods" for
>>> creating/
>>> deleting tables. That's mostly a question of whether or not we want
>>> to expose the functionality elsewhere than the shell. You could
>>> create a ticket for that and we can discuss it.
>>>
>>> I agree that XML can be heavy, which is why we are implementing the
>>> ability to use the "Accept: multipart/related" header to get back the
>>> data as pure binary with boundaries. This should alleviate the
>>> overhead of using XML for the most part.
>>>
>>> Hey, I hardly know Java, and I'm hacking all sorts of stuff!
>>> Seriously though, I think that as far as performant cross-platform
>>> access goes, the future is a Thrift servlet. I don't have a timeline
>>> on that at all yet.
>>>
>>> -Bryan
>>>
>>> On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:
>>>
>>>> The are a few reasons why I wanted to go with Socket instead of
>>>> REST,
>>>> to name a couple:
>>>>
>>>> - By applying Edward's patch I was able to gain access to the
>>>> 'entire'
>>>> HBase interface, from creating to deleting tables, etc, which I
>>>> couldn't do with REST. Is this flexibility something sought for
>>>> future
>>>> development?
>>>> - Performance gain. Working with xml can sometimes be problematic
>>>> and 'heavy'.
>>>>
>>>>> I would suggest exploring building a Thrift servlet that mimics
>>>>> the structure of the REST servlet
>>>> That could work if I knew Java :P
>>>>
>>>> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
>>>> you guys.
>>>>
>>>> --
>>>> Thiago
>>>>
>>>>
>>>> On Dec 7, 2007 10:42 AM, Bryan Duxbury wrote:
>>>>> What's the motivation for using straight a straight TCP socket
>>>>> rather
>>>>> than REST? The motivation behind producing a REST interface in the
>>>>> first place is that since the client still lives in Java, then
>>>>> we get
>>>>> to take advantage of all the built-in Java client work that's been
>>>>> done. If you're looking for a more lightweight way to interact with
>>>>> HBase (since REST can be a little heavy at times), then rather than
>>>>> go the HQL route, I would suggest exploring building a Thrift
>>>>> servlet
>>>>> that mimics the structure of the REST servlet. This is something
>>>>> that's been discussed as a next step for HBase interoperability.
>>>>>
>>>>> -Bryan
>>>>>
>>>>>
>>>>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
>>>>>
>>>>>> Is there a way to interact with HBase via TCP/socket connection
>>>>>> directly instead of just using the REST api?
>>>>>>
>>>>>> Thanks
>>>>>
>>>>>
>>>
>>>
>>>
>>
>> _________________________________________________________________
>> You keep typing, we keep giving. Download Messenger and join the
>> i'm Initiative now.
>> http://im.live.com/messenger/im/home/?source=TAGLM
>
>
>

_________________________________________________________________
You keep typing, we keep giving. Download Messenger and join the i’m Initiative now.
http://im.live.com/messenger/im/home/?source=TAGLM
Reply | Threaded
Open this post in threaded view
|

Re: Talking to HBase via tcp/socket

Thiago Jackiw-2
Sorry I missed the rest of this conversation.

Cool so this Thrift 'server' really seems the best way to go, I guess
I wasn't really understanding much about it before.

Any ideas when we should start seeing development on this?

--
Thiago


2007/12/9 edward yoon <[hidden email]>:

>
> Good idea, chad.
> Isn't it so much better when we discuss like this, rather than unilateral condemn one another? :)
>
> ------------------------------
>
> B. Regards,
>
> Edward yoon @ NHN, corp.
> Home : http://www.udanax.org
>
>
> > From: [hidden email]
> > To: [hidden email]
> > Date: Sat, 8 Dec 2007 10:58:21 -0800
> > Subject: Re: Talking to HBase via tcp/socket
> >
> >
> > I think we might be talking past each other a little bit here. Here is my attempt to clarify my suggestion and some of my thinking - hopefully it will help.
> >
> > First, let me state that I fully support the notion of a socket based interface to Hbase.
> > The REST API is a great starter API - low barrier to entry for many developers to start playing with Hbase but probably not what you want for heavy lifting.
> >
> > Also, let me clear up one possible misunderstanding: Thrift does provide a traditional socket transport.
> >
> > The key thing is that Thrift provides a nice object-based interface on top of that socket transport and it will generate client bindings for a whole host of languages (C++, Java, Ruby, PHP, Python, Perl, Erlang, Haskell, Ocaml so far). This will allow better programming abstractions for clients in those languages - they will work with native objects and Thrift will handle all the marshalling and unmarshalling and the details of the transport mechanism.
> >
> > So basically, I think I am supporting the thinking behind the work that Edward has done on the socket server - I am just suggesting that the implementation would be more full-featured, support more languages, and be developer-friendly if we do it using Thrift. I also don't think it is a tremendous amount of work - like I said the heavy lifting is probably in designing the APIs (Bryan, thanks for setting up the Wiki page for that).
> >
> > The current notion that we are kicking around is to wrap the Java Hbase client in a server that exposes Thrift interfaces to do all the things the Hbase client can do. That becomes a gateway that can be communicated with over standard sockets by making use of the Thrift client bindings. The reason I think this is the way to go, at least for now, is because I expect the Java Hbase client will become more and more full-featured soon (various kinds of caching, scanner read-ahead buffers, etc.) and I think we should avoid having to implement those features in multiple languages until the project becomes a lot more mature. Also, if there are multiple Hbase client processes on a single machine, the gateway will allow any caching or buffering to be shared across those processes. Eventually, all the Hbase RPC could be converted over to Thrift and then those who really wanted to could port the Hbase client to other languages - although I'd recommend that we hold off on that for quite some time.
> >
> > It seems to me that the HQL issue is actually orthogonal to this one. I think there is room for an RPC interface that executes direct Hbase calls and one that allows for executing HQL. HQL also provides a nice implementation-independent compatibility mechanism for other Hbase-like systems - for example, we have talked with the Hypertable folks and they are planning to adopt HQL syntax as well. We probably need to build some kind of standard around HQL as well.
> >
> > WRT to Bryan concerns about fresh client libraries for each language, I think the gateway notion can take care of that: the HQL translation into lower-level Hbase commands can simply be implemented there, either inside the Java Hbase client or as an add-on jar.
> >
> > I do share Bryan's concerns about HQL in terms of whether it truly exploits the full parallelism of Hbase, especially if one is expecting to issue a single query and return data from across the entire key space. Perhaps I am missing something but I think this area needs a little more exploration. I'll try to put together some thoughts on this if I get the time.
> >
> > Chad
> >
> >
>
> > On 12/8/07 9:43 AM, "Bryan Duxbury"  wrote:
> >
> > Except, there is NO traditional interface for HBase. We have the
> > choice to build whatever interface we want.
> >
> > I think the fundamental difference between Thrift/REST and an HQL
> > socket server would be the TYPE of the interface. Thrift/REST mostly
> > matches the existing underlying API (Thrift more so than REST), but
> > HQL requires us to develop and maintain a whole SQL-like syntax, and
> > to redefine our operations in terms of SQL, and figure out good ways
> > to manage bulk of data that can be returned, and it wouldn't even be
> > aligned with any known standard, so completely fresh client libraries
> > for every language. It just seems like a lot more effort for what
> > results in a more complex interface than we get with our other efforts.
> >
> > On Dec 8, 2007, at 3:36 AM, edward yoon wrote:
> >
> >>
> >> My notebook have both USB port and PS/2 port.
> >> But, the maker didn't say PS/2 port is a unnecessary thing.
> >>
> >> Premature withdrawal of traditional interface will guarantee failure.
> >>
> >> Thanks,
> >> Edward.
> >> ------------------------------
> >> B. Regards,
> >>
> >> Edward yoon @ NHN, corp.
> >> Home : http://www.udanax.org
> >>
> >>> From: [hidden email]
> >>> To: [hidden email]
> >>> Date: Fri, 7 Dec 2007 22:44:51 -0800
> >>> Subject: Re: Talking to HBase via tcp/socket
> >>>
> >>>
> >>> The heavy lifting in this exercise is mainly in designing the RPC
> >>> calls themselves - after that, it is probably a simple matter of
> >>> programming.
> >>>
> >>> Anyone want to take a crack at it?
> >>>
> >>> Chad
> >>>
> >>>
> >>> On 12/7/07 11:52 AM, "Bryan Duxbury" wrote:
> >>>
> >>> There's nothing stopping us from creating REST "methods" for
> >>> creating/
> >>> deleting tables. That's mostly a question of whether or not we want
> >>> to expose the functionality elsewhere than the shell. You could
> >>> create a ticket for that and we can discuss it.
> >>>
> >>> I agree that XML can be heavy, which is why we are implementing the
> >>> ability to use the "Accept: multipart/related" header to get back the
> >>> data as pure binary with boundaries. This should alleviate the
> >>> overhead of using XML for the most part.
> >>>
> >>> Hey, I hardly know Java, and I'm hacking all sorts of stuff!
> >>> Seriously though, I think that as far as performant cross-platform
> >>> access goes, the future is a Thrift servlet. I don't have a timeline
> >>> on that at all yet.
> >>>
> >>> -Bryan
> >>>
> >>> On Dec 7, 2007, at 11:44 AM, Thiago Jackiw wrote:
> >>>
> >>>> The are a few reasons why I wanted to go with Socket instead of
> >>>> REST,
> >>>> to name a couple:
> >>>>
> >>>> - By applying Edward's patch I was able to gain access to the
> >>>> 'entire'
> >>>> HBase interface, from creating to deleting tables, etc, which I
> >>>> couldn't do with REST. Is this flexibility something sought for
> >>>> future
> >>>> development?
> >>>> - Performance gain. Working with xml can sometimes be problematic
> >>>> and 'heavy'.
> >>>>
> >>>>> I would suggest exploring building a Thrift servlet that mimics
> >>>>> the structure of the REST servlet
> >>>> That could work if I knew Java :P
> >>>>
> >>>> Anyhow, despite HBase being pretty new, it sure kicks ass. Kudos to
> >>>> you guys.
> >>>>
> >>>> --
> >>>> Thiago
> >>>>
> >>>>
> >>>> On Dec 7, 2007 10:42 AM, Bryan Duxbury wrote:
> >>>>> What's the motivation for using straight a straight TCP socket
> >>>>> rather
> >>>>> than REST? The motivation behind producing a REST interface in the
> >>>>> first place is that since the client still lives in Java, then
> >>>>> we get
> >>>>> to take advantage of all the built-in Java client work that's been
> >>>>> done. If you're looking for a more lightweight way to interact with
> >>>>> HBase (since REST can be a little heavy at times), then rather than
> >>>>> go the HQL route, I would suggest exploring building a Thrift
> >>>>> servlet
> >>>>> that mimics the structure of the REST servlet. This is something
> >>>>> that's been discussed as a next step for HBase interoperability.
> >>>>>
> >>>>> -Bryan
> >>>>>
> >>>>>
> >>>>> On Dec 6, 2007, at 8:25 PM, Thiago Jackiw wrote:
> >>>>>
> >>>>>> Is there a way to interact with HBase via TCP/socket connection
> >>>>>> directly instead of just using the REST api?
> >>>>>>
> >>>>>> Thanks
> >>>>>
> >>>>>
> >>>
> >>>
> >>>
> >>
> >> _________________________________________________________________
> >> You keep typing, we keep giving. Download Messenger and join the
> >> i'm Initiative now.
> >> http://im.live.com/messenger/im/home/?source=TAGLM
> >
> >
> >
>
> _________________________________________________________________
> You keep typing, we keep giving. Download Messenger and join the i'm Initiative now.
> http://im.live.com/messenger/im/home/?source=TAGLM