HBase是一个面向列的分布式数据库,适合一些需要实时随机地访问超大规模数据集的场合,hbase可以提供高并发读写操作的支持。表是由Key-Value组成的,下面主要介绍一下golang下hbase的一些基本操作。本文用到的库主要有:
“github.com/tsuna/gohbase”
“github.com/tsuna/gohbase/filter”
“github.com/tsuna/gohbase/hrpc”
1、Hbase的连接
var client gohbase.Client
func ConnectHBase() {
hbaseUrl := beego.AppConfig.String("hbaseHost")
user := beego.AppConfig.String("userName")
option := gohbase.EffectiveUser(user)
client = gohbase.NewClient(hbaseUrl, option)
}
2,向表中添加数据
func PutsByRowkey(table, rowKey string, values map[string]map[string][]byte) (err error) {
putRequest, err := hrpc.NewPutStr(context.Background(), table, rowKey, values)
if err != nil {
log4go.Error("hrpc.NewPutStr: %s", err.Error())
return err
}
_, err = client.Put(putRequest)
if err != nil {
log4go.Error("hbase clients: %s", err.Error())
return