We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this开发者_如何学JAVA questionI need HBase to store large amount of indexing keywords and values (currently using Redis), but I can't find any C library to connect, write or read HBase.
I Googled, but found nothing. Does anybody have an idea? Or is there any similar Hadoop-related database that has mature C library?
I don't know of a pure C HBase client, but there seems to be a C++ client:
https://github.com/apache/hbase/tree/master/hbase-native-client
There are several options to consider:
Thrift
Avro is another new option to look into.
You could use a plain REST api calls using Stargate.
There is a discussion on the HBase bug tracker HBase-1015 about c and c++ clients.
Look into the above options to see what best fits your requirements.
HDFS, upon which hbase is built, is a similar Hadoop-related database that has a C library.
libhdfs is a c based library to access hdfs. It was created using jni.
http://wiki.apache.org/hadoop/LibHDFS
http://hadoop.apache.org/common/docs/current/libhdfs.html
Here is an example project:
https://github.com/kzk/libhdfs-example
Note that the C++ Hbase client developed by Chip Turner actually goes through Thrift (at least the current code does). So you have a C++ API translated to the Thrift API, translated to the Java API. The one advantage appears to be that the C++ API is trying to hew closely to the original Java API.
A native API for HBase, libhbase, similar to libhdfs is available here.
You can also download the pre-built packages for CentOS/RedHat and Ubuntu from for HBase 0.98.x from here.
You can use Thrift as a gateway to connect with HBase.
精彩评论