表格存储服务 CloudTable
表格存储服务 CloudTable
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 开发指南
-
常见问题
-
通用类
- CloudTable 集群能够提供什么服务?
- 为什么要选择CloudTable服务?
- 创建CloudTable HBase集群要准备什么?
- 使用CloudTable服务时需要关注什么?
- CloudTable HBase集群支持哪些压缩算法?
- 能停止CloudTable服务吗?
- CloudTable中的HBase外部接口支持哪些编程语言?
- 故障RegionServer个数怎么判断?
- CloudTable HBase支持的特殊符号?
- CloudTable数据进行删除,导致索引表和数据表不对应查询异常处理办法?
- python通过thrift访问cloudtable,多个任务并行缓慢
- 如何查看HBase shell的TTL属性?
- 服务器资源为什么会被释放?
- 怎样删除集群?
- 资源停止服务或逾期释放说明
- 连接访问类
- 数据读写类
- 计费类
-
通用类
- 通用参考
链接复制成功!
创建索引
场景介绍
- 对于未建立索引的用户表,该工具允许用户同时添加和构建索引。
使用方法
在HBase客户端执行以下命令即可添加或创建索引,执行命令后,指定的索引将被添加到表中并且将处于ACTIVE状态:
hbase org.apache.hadoop.hbase.hindex.global.mapreduce.GlobalTableIndexer -Dtablename.to.index='table' -Dindexspecs.to.add='idx1=>cf1:[c1->string],[c2]#idx2=>cf2:[c1->string],[c2]#idx3=>cf1:[c1];cf2:[c1]' -Dindexspecs.covered.family.to.add='idx2=>cf1' -Dindexspecs.covered.to.add='idx1=>cf1:[c3],[c4]' -Dindexspecs.coveredallcolumn.to.add='idx3=>true' -Dindexspecs.splitkeys.to.set='idx1=>[\x010,\x011,\x012]#idx2=>[\x01a,\x01b,\x01c]#idx3=>[\x01d,\x01e,\x01f]'
相关参数介绍如下:
- tablename.to.index:表示创建索引的数据表的名称。
- indexspecs.to.add:表示与索引名与对应数据表的列的映射(索引列定义)。
- indexspecs.covered.to.add(可选):表示索引中冗余存储的数据表的列(覆盖列定义)。
- indexspecs.covered.family.to.add(可选):表示索引表冗余存储的数据表的列族(覆盖列族定义)。
- indexspecs.coveredallcolumn.to.add(可选):表示索引表冗余存储数据表中的所有数据(覆盖所有列)。
- indexspecs.splitkeys.to.set(可选):表示索引表预分区切分点,建议指定,避免索引表Region成为热点。预分区指定格式为:
- '#'用于分隔索引。
- splitkey包含在'[]'中。
- ','用于分隔splitkey。
说明:
预分区每个splitkey必须由\x01开头。
- indexspecs.to.addandbuild(可选):表示创建时同时生成索引数据,数据表数据量较大时不建议使用,建议使用索引数据生成工具完成索引数据生成。
上述命令中的参数描述如下:
- idx1、idx2、idx3:表示索引名称。
- cf1、cf2:表示列族名称。
- c1、c2、c3、c4:表示列名称。
- string:表示数据类型。支持STRING、INTEGER、FLOAT、LONG、DOUBLE、SHORT、BYTE和CHAR。
说明:
- '#'用于分隔索引,';' 用于分隔列族,','用于分隔列限定符。
- 列名及其数据类型应包含在'[]'中。
- 列名及其数据类型通过' - >'分隔。
- 如果未指定具体列的数据类型,则使用默认数据类型(string)。
父主题: 使用全局二级索引工具