全部产品
云市场

快速开始

更新时间:2020-06-02 17:27:04

下载HBase Shell

HBase增强版Shell访问页面下载最新版本的HBase Shell,并根据Shell使用指导完成Shell访问HBase的相关配置,同时需要确认配置好白名单

HBase实例中创建表

  1. hbase(main):002:0> create 'testTable', {NAME => 'f'}

上面的命令在HBase中创建了一张名为testTable,列族ColumnFamily为f的表。

Search实例中创建索引

在Search实例的控制台,点击数据库连接可以看到WebUI访问。注意:使用前需要设置好访问白名单和访问密码。3

config set可以选择_indexer_default作为配置集,numShards设置为节点个数,其它采用默认值即可, 如下图:1

建立映射关系

假设我们需要将testTable表中f:name这一列(列族为f,列名为name )映射到索引表democollectionname_s这一列。于是我们将下述json写入到一个文件中,如schema.json

  1. {
  2. "sourceNamespace": "default",
  3. "sourceTable": "testTable",
  4. "targetIndexName": "democollection",
  5. "indexType": "SOLR",
  6. "rowkeyFormatterType": "STRING",
  7. "fields": [
  8. {
  9. "source": "f:name",
  10. "targetField": "name_s",
  11. "type": "STRING"
  12. }
  13. ]
  14. }

备注:json文件中各个参数的含义参见HBase索引管理

在HBase shell中执行:

  1. hbase(main):006:0> alter_external_index 'testTable', 'schema.json'

等待命令结束后,索引映射关系就已经创建完毕。

HBase中写入数据

写入数据参见JavaAPI章节,这里使用Shell写入一条示例数据

  1. hbase(main):008:0> put 'testTable', 'row1', 'f:name', 'foo'
  2. Took 0.1697 seconds

Search实例中查询数据

在Search的WebUI中,选中刚才创建的索引democollection,点击Query查询,就可以查到刚才写入的一行数据。2

回查HBase

在Search的使用场景中,一般是将HBase表一行数据的部分列同步到Search实例,即只需要将那些需要多维查询的列配置到映射json文件中。通过Search查询的结果中,每行数据都会有一个列id,这个id即为这一行数据在HBase表中的rowkey。拿到这个rowkey后,回查HBase,就可以获得完整数据。