91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase內置過濾器java api的知識點總結

發布時間:2021-09-03 18:36:42 來源:億速云 閱讀:216 作者:chen 欄目:大數據

這篇文章主要介紹“HBase內置過濾器java api的知識點總結”,在日常操作中,相信很多人在HBase內置過濾器java api的知識點總結問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”HBase內置過濾器java api的知識點總結”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、RowFilter:篩選出匹配的所有的行(使用過)

//rowkey 等于 test|id9
Filter filter=new RowFilter(CompareOperator.EQUAL,new BinaryComparator(Bytes.toBytes("test|id9")));

2、PrefixFilter:篩選出具有特定前綴的行健的數據

//rowkey 以test開頭
Filter filter=new PrefixFilter(Bytes.toBytes("test"));

3、KeyOnlyFilter:只返回每行的行健

//只返回每行的行鍵,但值全是空
Filter filter=new KeyOnlyFilter();

4、RandomRowFilter:按照一定的幾率來返回隨機的結果集

//返回隨機的數據
Filter filter=new RandomRowFilter(0.5f);

5、InclusiveStopFilter:掃描的時候,我們可以設置一個開始行鍵和一個終止行鍵,默認情況下,這個行鍵的返回是前閉后開區間,即包含起始行,但不包含終止行,如果我們想要同時包含起始行和終止行

//遇到rowkey等于test|id4停止查詢
Filter filter=new InclusiveStopFilter(Bytes.toBytes("test|id4"));

6、FirsterKeyOnlyFilter:返回的結果集中只包含第一列的數據它在找到每行的第一列之后會停止掃描

//篩選出第一個每個第一個單元格
Filter filter=new FirstKeyOnlyFilter();

7、ColumnsPrefixFilter:按照列名的前綴來篩選單元格,如果我們想要對返回的列的前綴加以限制的話,可以使用這個過濾器

//列名以ss開頭
Filter filter=new ColumnPrefixFilter(Bytes.toBytes("ss"));

8、ValueFilter:按照具體的值來篩選單元格

//值中包含one的記錄
Filter filter=new ValueFilter(CompareOperator.EQUAL,new SubstringComparator("one"));

9、ColumnsCountGetFilter:這個過濾器來返回每行最多返回多少列,并在遇到一行的列數超過我們所設置的限制值的時候,結束掃描操作

Filter ccf=new ColumnCountGetFilter(2);//OK如果突然發現一行中的列數超過設定的最大值時,整個掃描操作會停止

10、SingleColumnValueFilter:用一列的值決定這一行的數據是否被過濾

SingleColumnValueFilter scvf=new SingleColumnValueFilter(
Bytes.toBytes("colfam1"),
Bytes.toBytes("qual2"),CompareFilter.CompareOp.NOT_EQUAL,new SubstringComparator("BOGUS"));
scvf.setFilterIfMissing(false);
scvf.setLatestVersionOnly(true);//OK

11、SingColumnValueExcludeFilter:這個與10種的過濾器唯一的區別就是,作為篩選條件的列的不會包含在返回的結果中。

12、SkipFilter:這是一種附加過濾器,其與ValueFilter結合使用,如果發現一行中的某一列不符合條件,那么整行就會被過濾掉

Filter skf=new SkipFilter(vf);//OK發現某一行中的一列需要過濾時,整個行就會被過濾掉

13、WhileMatchFilter:如果你想要在遇到某種條件數據之前的數據時,就可以使用這個過濾器;當遇到不符合設定條件的數據的時候,整個掃描也就結束了

Filter wmf=new WhileMatchFilter(rf);//OK類似于Pythonitertools中的takewhile

14、FilterList:用于綜合使用多個過濾器(使用過)

List<Filter>filters=new ArrayList<Filter>();filters.add(rf);
filters.add(vf);FilterList fl=?new FilterList(FilterList.Operator.MUST_PASS_ALL,filters);//OK綜合使用多個過濾器,AND和OR兩種關系

通過Filter獲取結果集案例

FilterList filterList=new FilterList();
Filter filter=new RowFilter(CompareOperator.EQUAL,new BinaryComparator(Bytes.toBytes("test|id9")));
filterList.addFilter(filter);

ResultScanner www = HBaseUtil.getScanner("www",filterList);

for (Result re:www){
     for(Cell kv:re.rawCells()){
                  System.out.println("====="+kv.toString());
                  System.out.println("列族:"+Bytes.toString(kv.getFamilyArray(),kv.getFamilyOffset(),kv.getFamilyLength()));
                  System.out.println("RowKey:"+Bytes.toString(kv.getRowArray(),kv.getRowOffset(),kv.getRowLength()));
                  System.out.println("列名:"+Bytes.toString(kv.getQualifierArray(),kv.getQualifierOffset(),kv.getQualifierLength()));
                  System.out.println("值:"+Bytes.toString(kv.getValueArray(),kv.getValueOffset(),kv.getValueLength()));
                  System.out.println("=================================================================================");

     }
}

到此,關于“HBase內置過濾器java api的知識點總結”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长岭县| 共和县| 新安县| 奉新县| 芒康县| 商河县| 宜黄县| 泰来县| 定州市| 合阳县| 英山县| 离岛区| 灌南县| 永川市| 巫溪县| 秦安县| 德安县| 北碚区| 岢岚县| 望奎县| 吕梁市| 浙江省| 文成县| 伊川县| 瑞安市| 绩溪县| 同江市| 孝义市| 尼木县| 乳山市| 彭泽县| 新宾| 郴州市| 常山县| 黄大仙区| 丰都县| 保定市| 稻城县| 新绛县| 道孚县| 辛集市|