"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.
The Hbase API is defined in the file Hbase.thrift. A server-side implementation of the API is in {@link org.apache.hadoop.hbase.thrift.ThriftServer}. The generated interfaces, types, and RPC utility files are checked into SVN under the {@link 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 | [--port=PORT] startThe default port is 9090.