码迷,mamicode.com
首页 > 其他好文 > 详细

使用HBASE用到的几个filter SingleColumnValueFilter,RowFilter,ValueFilter

时间:2014-08-14 16:51:08      阅读:338      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   java   使用   strong   数据   for   

SingleColumnValueFilter                                                               

过滤某列值大于多少小于多少:                

               List<Filter> filters = new ArrayList<Filter>();                        
             filters.add(  new SingleColumnValueFilter(Bytes.toBytes("pinfo"),  //列族
                          Bytes.toBytes("t"),  //列名                                 
                          CompareOp.GREATER,Bytes.toBytes("1359901"]) ) //值          
             filters.add(  new SingleColumnValueFilter(Bytes.toBytes("pinfo"),        
                          Bytes.toBytes("t"),                                         
                          CompareOp.LESS,Bytes.toBytes("1389901"]) )                  
                                                                                      
                                                                                      
             FilterList filterList1 = new FilterList(Operator.MUST_PASS_ALL,filters); 
                                                                                      
             sn.setFilter(filterList1);    

                                          

                                                  
RowFilter      
                                                                      
Rowkey中包括某些字符串                                                                

字符串存在list a内      

 

   for (int a=0;a<size;a++)                                                           
         {                                                                         
   //      Filter filter2 = new RowFilter(CompareOp.EQUAL,                         
     // new RegexStringComparator(".*"+maclist.get(a)+"$"));                  
         Filter filter2 = new RowFilter(CompareOp.EQUAL,                         
            new SubstringComparator(maclist.get(a)));                     
                                                                                 
         filters.add(filter2);                                                     
         }                                                                         
         FilterList filterList1 = new FilterList(Operator.MUST_PASS_ONE,filters);  
                                                                                   
         sn.setFilter(filterList1);                                                
                                                        

                                     

                                                                                      
ValueFilter:                                                                          

不需要指定某个列,含指某个值的列的数据都取出来,混在一起   

HTable table = new HTable(config, tableName);                                         
    Scan scan = new Scan();                                                           
                                                                                      
    System.out.println("只列出值包含data1的列");                                      
    Filter filter1 = new ValueFilter(CompareFilter.CompareOp.EQUAL,                   
        new SubstringComparator("data1"));                                            
scan.setFilter(filter1);          

  

使用HBASE用到的几个filter SingleColumnValueFilter,RowFilter,ValueFilter,布布扣,bubuko.com

使用HBASE用到的几个filter SingleColumnValueFilter,RowFilter,ValueFilter

标签:style   blog   color   java   使用   strong   数据   for   

原文地址:http://blog.csdn.net/u011750989/article/details/38558673

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!