版本
hbase 1.3.5
phoenix 4.14.2-hbase 1.3
简介
这里的数据来源于网络,直接下载的用户电影打分数据,原数据集有2700W条,这里为了rowkey不重复,我将timestamp作为rowkey,最终获取到了2200W条数据
索引
这里一会儿要用上二级索引,所以这边先介绍一下,由于hbase中只能围绕rowkey设计来提高性能,但是我们引入了phoenix,可以将hbase和phoenix做关联表和关联视图,就可以引入二级索引了,效率确实提升很多
hbase配置
要打开二级索引,hbase-site.xml中需要打开配置
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
异步构建索引
由于2200W数据量还是蛮大的,直接构建出错的概率高达100%,毕竟我本人就构建失败了,所以这里推荐异步构建的方式
create index rating_index_user_item_local on RATINGLOCAL("info"."userId","info"."movieId") include ("info"."rating&