You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
|
|
"go-common/library/log" |
|
|
|
"github.com/tsuna/gohbase/hrpc" |
|
) |
|
|
|
var ( |
|
prefix = "bucket_" |
|
) |
|
|
|
// CreateTable . |
|
// TODO check namespace |
|
func (d *Dao) CreateTable(c context.Context, table string) error { |
|
families := make(map[string]map[string]string) |
|
families["bfsfile"] = map[string]string{ |
|
"BLOOMFILTER": "ROW", |
|
"VERSIONS": "1", |
|
"IN_MEMORY": "false", |
|
"KEEP_DELETED_CELLS": "false", |
|
"DATA_BLOCK_ENCODING": "NONE", |
|
"TTL": "2147483647", // NOTE: 2147483647 is forever |
|
"COMPRESSION": "NONE", |
|
"MIN_VERSIONS": "0", |
|
"BLOCKCACHE": "true", |
|
"BLOCKSIZE": "65536", |
|
"REPLICATION_SCOPE": "0", |
|
} |
|
b := [][]byte{[]byte("1"), []byte("2"), []byte("3"), []byte("4"), []byte("5"), []byte("6"), []byte("7"), |
|
[]byte("8"), []byte("9"), []byte("a"), []byte("b"), []byte("c"), []byte("d"), []byte("e"), []byte("f")} |
|
ct := hrpc.NewCreateTable(c, []byte(prefix+table), families, hrpc.SplitKeys(b)) |
|
err := d.hbase.CreateTable(ct) |
|
if err != nil { |
|
log.Error("CreateTable(),err:%+v", err) |
|
return err |
|
} |
|
return nil |
|
}
|
|
|