[ 
https://issues.apache.org/jira/browse/HADOOP-2389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557743#action_12557743
 ] 

nospmisdivad edited comment on HADOOP-2389 at 1/10/08 10:35 AM:
-----------------------------------------------------------------

I attached a patch file and a thrift Java runtime jar file that implements a 
Thrift service for Hbase.  The patch includes the Hbase.thrift interface 
defintion, a ThriftServer class which can be launched from './bin/hbase 
thrift', and some example clients which are in the src/examples/thrift 
directory.  I'm also attaching the Hbase.thrift file directly so it's easy to 
view for comments.

Here's what's included in the package.html:

* Package org.apache.hadoop.hbase.thrift Description

Provides an HBase Thrift service. This directory contains a Thrift interface
definition file for an Hbase RPC service and a Java server implementation.

* What is Thrift?

"Thrift is a software framework for scalable cross-language services
development. It combines a powerful software stack with a code generation
engine to build services that work efficiently and seamlessly between C++,
Java, Python, PHP, and Ruby. Thrift was developed at Facebook, and we are now
releasing it as open source." For additional information, see
http://developers.facebook.com/thrift/. Facebook has announced their intent to
migrate Thrift into Apache Incubator.

* Description

The Hbase API is defined in the file Hbase.thrift. A server-side
implementation of the API is in ThriftServer. The generated interfaces, types,
and RPC utility files are checked into SVN under the
org.apache.hadoop.hbase.thrift.generated directory.

The files were generated by running the commands:

  thrift -strict -java Hbase.thrift
  mv gen-java/org/apache/hadoop/hbase/thrift/generated .
  rm -rf gen-java

The 'thrift' binary is the Thrift compiler, and it is distributed as a part of
the Thrift package. Additionally, specific language runtime libraries are a
part of the Thrift package. A version of the Java runtime is checked into SVN
under the hbase/lib directory.

The version of Thrift used to generate the Java files is revision 746 from the
SVN repository.

The ThriftServer is run like:

  ./bin/hbase thrift [-h|--help] [-p|--port PORT]

The default port is 9090.


----

      was (Author: nospmisdivad):
    I attached a patch file and a thrift Java runtime jar file that implements 
a Thrift service for Hbase.  The patch includes the Hbase.thrift interface 
defintion, a ThriftServer class which can be launched from './bin/hbase 
thrift', and some example clients which are in the src/examples/thrift 
directory.  I'm also attaching the Hbase.thrift file directly so it's easy to 
view for comments.

Here's what's included in the package.html:

** Package org.apache.hadoop.hbase.thrift Description

Provides an HBase Thrift service. This directory contains a Thrift interface
definition file for an Hbase RPC service and a Java server implementation.

** What is Thrift?

"Thrift is a software framework for scalable cross-language services
development. It combines a powerful software stack with a code generation
engine to build services that work efficiently and seamlessly between C++,
Java, Python, PHP, and Ruby. Thrift was developed at Facebook, and we are now
releasing it as open source." For additional information, see
http://developers.facebook.com/thrift/. Facebook has announced their intent to
migrate Thrift into Apache Incubator.

** Description

The Hbase API is defined in the file Hbase.thrift. A server-side
implementation of the API is in ThriftServer. The generated interfaces, types,
and RPC utility files are checked into SVN under the
org.apache.hadoop.hbase.thrift.generated directory.

The files were generated by running the commands:

  thrift -strict -java Hbase.thrift
  mv gen-java/org/apache/hadoop/hbase/thrift/generated .
  rm -rf gen-java

The 'thrift' binary is the Thrift compiler, and it is distributed as a part of
the Thrift package. Additionally, specific language runtime libraries are a
part of the Thrift package. A version of the Java runtime is checked into SVN
under the hbase/lib directory.

The version of Thrift used to generate the Java files is revision 746 from the
SVN repository.

The ThriftServer is run like:

  ./bin/hbase thrift [-h|--help] [-p|--port PORT]

The default port is 9090.


----
  
> [hbase] provide multiple language bindings for HBase
> ----------------------------------------------------
>
>                 Key: HADOOP-2389
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2389
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Jim Kellerman
>            Priority: Minor
>         Attachments: hbase-thrift.patch, Hbase.thrift.txt, libthrift-r746.jar
>
>
> There have been a number of requests for multiple language bindings for 
> HBase.  While there is now a REST interface, this may not be suited for 
> high-volume applications. A couple of suggested approaches have been proposed:
> - Provide a Thrift based API (very fast socket based but some of the 
> languages are not well supported)
> - Provide a JSON based API over sockets. (faster than REST, but probably 
> slower than Thrift)
> Others?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to