ehbase
is a HBase driver for Erlang via Erlang Thrift library. It is in the process of developing under branch of develop.
Below the surface, ehbase
uses the Erlang Thrift Library to connect to HBase using its Thrift gateway, which is included in the standard HBase 0.9x releases.
In addition, ehbase
uses the pooler for connection's pool encapsulate. But I used my forked repo which support more feature and do not pull request to the the original branch for some reason for now.
There is one default configure in the file of demo.config
for pooler
, and you will also find configure about Thrift server
's name, host, ip, and socket params in the file of demo.config
. Of course, you can move these configure information to your sys.config
file, that is your right.
ehbase
using rebar
manager the whole project, you can use all the command of rebar
./rebar compile
and ./rebar com
will work well.
For now, you can use erl -pa …
command to start one Erlang Shell and application:start/1
only
$erl -pa ./ebin -pa ./deps/*/ebin -config demo.config
1> application:start(ehbase).
First of all, you should get a Pid
from pooler
2> Pid_For_Use = pooler:take_member(hbase_thrift).
then, you can use this Pid
named Pid_For_Use access HBase
3> gen_server:call(Pid_For_Use, {getTableNames, []}).
you will get all tables in the HBase, after using Pid_For_Use you should return it to the pool final
4> pooler:return_member(hbase_thrift, Pid_For_Use).
- Erlang Thrift Library
- pooler