最近在做大数据的实验时,遇到需要类似于sql中 select XXX from where xxxxx=xxx的一个检索的需求,翻了好多博客都没有解决,最后通过查看hbase filte的文档,使用SingleValueFilter过滤器

表的结构

    #结构
	Student表,包含Base和Score两个列族
	Base列族包含Number、Name、Sex、Prof列;//学号、姓名、性别、专业
	Score列族包含English、Math、Market、Java、Python、BigData列

表的数据

表中数据,每行rowkey设置为学生学号
	Number	Name	Sex	  Prof		English	Math	Market	Java  Python BigData
    001		Tim		m	   bigdata	 80		 72		         85		75		80
	002		Lucy	f	   bigdata   78		 68		         88		80		76
	003	   Vivian	f	   biz		 82		 70		  70
	004	  Golden	m	   biz		 80		 77		  68

需求

搜索所有bigdata专业的学生

解决

思路:使用SingleValueFilter过滤器
scan ‘Student’,{COLUMNS=>‘Base:Name’,FILTER=>“SingleValueFilter(‘Base’,‘Prof’,=,‘bignary:bigdata’)”}

scan 'Student',{COLUMNS=>'Base:Name',FILTER=>"SingleValueFilter('Base','Prof',=,'bignary:bigdata')"}

结果

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐