作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 co
列中保存了大文本内容,我想搜索 co
列是否包含特定单词,就像我们在 中所做的那样RDBMS
eg: where co
like %test%
,要实现这个我应该写任何过滤器还是Map
reduce?有人可以举例说明如何实现这一目标吗?
最佳答案
你可以做类似的事情
RegexStringComparator comp = new RegexStringComparator(".test."); // or (\W|^)test(\W|$) if you want complete words only
或
SubstringComparator comp = new SubstringComparator("test");
然后
SingleColumnValueFilter filter = new SingleColumnValueFilter(
Bytes.toBytes("COLUMN_FAMILY_NAME"),
Bytes.toBytes("co"),
CompareOp.EQUAL,
comp
);
scan.setFilter(filter);
请注意,由于 HBase 会查看表中列的每个实例,因此性能不会很出色
关于hadoop - 如何在hbase中搜索像 '%test%'这样的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20065496/
我是一名优秀的程序员,十分优秀!