拉取镜像

docker pull harisekhon/hbase

启动容器

docker run -d -h 127.0.0.1 -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9000:9000  -p 9095:9095  -p 16000:16000  -p 16010:16010  -p 16201:16201  -p 16301:16301 -p 16020:16020 --name hbase  harisekhon/hbase

golang操作hbase

golang库

"github.com/tsuna/gohbase"

var GVA_HBASE_CLIENT gohbase.Client
func initHbaseClient() {
	GVA_HBASE_CLIENT = gohbase.NewClient("loclahost:2181")
}



func HbasePut() {
	ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
	defer cancel()
	// 将数据存储到 HBase
	putRequest, err := hrpc.NewPutStr(ctx, GVA_CONFIG.HbaseConfig.Dbname, "row_key", map[string]map[string][]byte{family: {"name3": []byte("Tom3")}})
	if err != nil {
		fmt.Println("Put 操作失败:", err)
		return
	}
	result, err := GVA_HBASE_CLIENT.Put(putRequest)
	if err != nil {
		fmt.Println("数据存储失败:", err)
		return
	}
	fmt.Println(result)
	fmt.Printf("数据已存储到表 '%s' 中,行键为 'row_key',列族为 '%s'\n", GVA_CONFIG.HbaseConfig.Dbname, family)
}

func HbaseGet() {
	// 从 HBase 中查询数据
	getRequest, err := hrpc.NewGetStr(context.Background(), GVA_CONFIG.HbaseConfig.Dbname, "row_key")
	if err != nil {
		fmt.Println("Get 操作失败:", err)
		return
	}
	getResp, err := GVA_HBASE_CLIENT.Get(getRequest)
	if err != nil {
		fmt.Println("数据查询失败:", err)
		return
	}
	fmt.Printf("%+v:\n", getResp)
	// result := getResp.Result()
	// for _, cell := range result.Cells {
	// 	fmt.Printf("列族:%s,列名:%s,值:%s\n", cell.Family, cell.Qualifier, cell.Value)
	// }
}


Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐