最近工作需要接触HBase存储数据,并对数据进行加工分析处理。在此将个人学习过程及踩过的坑记录一下,防止个人大脑遗忘,希望在缓解个人脑容量不足的情况下,也能给他人提供帮助。
环境: 阿里云Hbase企业版
流程: Hbase表的创建、数据插入、Solr的Collection创建、Solr索引创建、Java通过Solr访问查询数据。
- Hbase表、Solr Collection、Solr索引三者之间的关系
创建Solr索引之前要明确Hbase表、Solr Collection、Solr索引三者之间的关系。Hbase表、Solr Collection两者是相互独立的,均可以直接进行创建,Solr索引是两者的中间桥梁,将二者联系起来,并将Hbase表中的特定Column数据映射到Solr Collection中。其关系如下图:
- 创建Hbase表
在Hbase所在的服务器上,下载并安装Hbase客户端,在Hbase目录下,使用如下命令:
./bin/hbase shell
进入Hbase,通过
create 'solrdemo', {NAME=>'info', REPLICATION_SCOPE=>'1'}
创建solrdemo
表,并创建info
列簇。当然可以建立多个列簇。
在Hbase中,数据的存放方式是以Key-Value的方式存放,即列名-值。表的结构如下表所示:
ROW | COL1 | COL2 | … |
---|---|---|---|
row1 | info1 | info2 | … |
其中ROW相当于Mysql中的ID,COL1表示列簇1,COL2表示列簇2。
其中每一个列簇下,可以分为多个列,比如,COL1下可以新建多个列,info1:name,info1:age等等。
这是Hbase相关的一些知识,有兴趣的可以去详细Hbase,这里就不细说了。
- 创建Solr Collection
在使用Solr之前,需要安装配置Solr,然后才能使用网页的方式去访问。配置方式在这里就不细说了,