[ 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.