without data模式创建的索引表无数据填充。with data模式创建的索引表有数据填充。注意创建索引时,需要先创建数据表,如create 'tablename','cf_0','cf_1'。
执行以下命令即可创建索引表,创建成功后索引表为空,无数据填充。
hbase com.huawei.boostkit.hindex.mapreduce.GlobalTableIndexer -Dtablename.to.index=tablename -Dindexspecs.to.add='idx_0=>cf_0:[q_0->STRING],[q_1];cf_1:[q_0->STRING],[q_1]#idx_1=>cf_0:[q_1->STRING],[q_2];cf_1:[q_1->STRING],[q_2]' -Dindexspecs.covered.to.add='idx_0=>cf_0:[q_0];cf_1:[q_0]#idx_1=>cf_0:[q_0];cf_1:[q_0]'
参数 |
说明 |
---|---|
tablename.to.index |
表示创建索引的数据表的名称。 |
indexspecs.to.add |
表示索引名与对应数据表的列的映射,不会填充索引表数据。 |
indexspecs.covered.to.add(可选) |
表示索引中冗余存储的数据表的列(覆盖列定义)。 |
参数值 |
说明 |
---|---|
idx_0、idx_1 |
表示索引名称。 |
cf_0、cf_1 |
表示列族名称。 |
q_0、q_1、q_2 |
表示列名称。 |
STRING |
表示数据类型。支持STRING、INTEGER、FLOAT、LONG、DOUBLE、SHORT、BYTE和CHAR。 |
'#' |
表示分隔索引。 |
';' |
表示分隔列族。 |
',' |
表示分隔列限定符。 |
执行以下命令即可创建索引表并填充数据,创建成功后得到有索引数据的完整索引表。
hbase com.huawei.boostkit.hindex.mapreduce.GlobalTableIndexer -Dtablename.to.index=tablename -Dindexspecs.to.addandbuild='idx_0=>cf_0:[q_0->STRING],[q_1];cf_1:[q_0->STRING],[q_1]#idx_1=>cf_0:[q_1->STRING],[q_2];cf_1:[q_1->STRING],[q_2]' -Dindexspecs.covered.to.add='idx_0=>cf_0:[q_0];cf_1:[q_0]#idx_1=>cf_0:[q_0];cf_1:[q_0]'
参数 |
说明 |
---|---|
tablename.to.index |
表示创建索引的数据表的名称。 |
indexspecs.to.addandbuild |
表示索引名与对应数据表的列的映射,会填充索引表数据。 |
indexspecs.covered.to.add(可选) |
表示索引中冗余存储的数据表的列(覆盖列定义)。 |
参数值 |
说明 |
---|---|
idx_0、idx_1 |
表示索引名称。 |
cf_0、cf_1 |
表示列族名称。 |
q_0、q_1、q_2 |
表示列名称。 |
STRING |
表示数据类型。支持STRING、INTEGER、FLOAT、LONG、DOUBLE、SHORT、BYTE和CHAR。 |
'#' |
表示分隔索引。 |
';' |
表示分隔列族。 |
',' |
表示分隔列限定符。 |