11teracli命令行工具使用手册
22---
33
4- <!-- ## 表格创建 (create)-->
4+ ## 表格创建 (create)
5+
6+ ` create <tablename> <tableschema> `
7+
8+ 1 . tablename不要超过256个字符,合法字符包括:数字、大小写字母、下划线` _ ` 、连字符` - ` ,
9+ 首字符不能为数字。
10+
11+ 1 . tableschema字符串请用引号括起来,避免` # ` 等特殊符号被shell解释。
12+
13+ 1 . tableschema详解
14+
15+ `schema syntax:
16+ {tableprops}#lg1{lgprops}: cf1 { cfprops } ,cf2..|lg2...
17+ (all properties are optional)`
18+
19+ span | 属性名 | 意义 | 有效取值 | 单位 | 默认值 | 其它说明
20+ --- | --- | --- | --- | --- | --- | ---
21+ table | rawkey | rawkey的拼装模式 | "readable":性能较高,但不允许包含` \0 ` 。"binary":性能差一些,允许所有字符。 | - | "readable" |
22+ table | splitsize | 某个tablet增大到此阈值时分裂为2个子tablets| >=0,等于0时关闭split | MB | 512 |
23+ table | mergesize | 某个tablet减小到此阈值时和相邻的1个tablet合并 | >=0,等于0时关闭merge | MB | 0 | splitsize至少要为mergesize的5倍
24+ lg | storage | 存储类型 | "disk" / "flash" / "memory" | - | "disk" |
25+ lg | compress | 压缩算法 | "snappy" / "none" | - | "snappy" |
26+ lg | blocksize | LevelDB中block的大小 | >0 | KB | 4 |
27+ lg | use_memtable_on_leveldb | 是否启用内存compact | "true" / "false" | - | false |
28+ lg | sst_size | 第一层sst文件大小 | >0 | Bytes | 8,000,000 |
29+ cf | maxversions | 保存的最大版本数 | >0 | - | 1 |
30+ cf | minversions | 保存的最小版本数 | >0 | - | 1 |
31+ cf | ttl | 数据有效时间 | >=0,等于0时此数据永远有效 | second | 0 | 小于0表示提前过期;和minversions冲突时以minversions为准
32+
33+ <!--
34+ lg | memtable_ldb_write_buffer_size | 内存compact开启后,写buffer的大小 | >0 | MB | 1 | 一般不用暴露给用户
35+ lg | memtable_ldb_block_size | 内存compact开启后,压缩块的大小 | >0 | KB | 4 | 一般不用暴露给用户
36+ cf | diskquota | 存储限额 | >0 | MB | 0 | 暂未使用
37+ -->
38+
39+ 例如:
40+
41+ 创建一个名为` books ` 的表格,设置2个lg,一个名为` lg0 ` ,包含1个cf;另一个lg名为` lg1 ` ,包含2个cf:
42+
43+ ` % ./teracli create books "#lg0:cf|lg1:cf0,cf1" `
44+
45+ 如果需要,可以给table、lg或者cf添加需要的属性:
46+
47+ ` % ./teracli create books "{splitsize=1024,mergesize=128}#lg0{storage=disk,compress=snappy}:cf{maxversions=3}|lg1:cf0{minversions=5},cf1" `
48+
549
650## 表格schema更新-全量更新 (update)
751
@@ -11,10 +55,7 @@ teracli命令行工具使用手册
1155tera会用新的schema覆盖原有schema.
1256更新schema前需要先disable表格。
1357
14- 1 . tablename不要超过256个字符,合法字符包括:数字、大小写字母、下划线` _ ` 、连字符` - ` ,
15- 首字符不能为数字。
16-
17- 1 . tableschema字符串请用引号括起来,避免` # ` 等特殊符号被shell解释。
58+ 1 . tablename和tableschema的约束和` ctreate ` 一致。
1859
1960## 表格schema更新-增量更新 (update-part)
2061
0 commit comments