五、HBase根據rowKey查詢

1、RowFilter用于過濾row key
    Operator                  Description
      LESS                      小于
  LESS_OR_EQUAL                 小于等于
      EQUAL                     等于
      NOT_EQUAL                 不等于
    GREATER_OR_EQUAL            大于等于
      GREATER                    大于
      NO_OP                     排除所有

    Comparator                      Description
BinaryComparator                使用Bytes.compareTo()比較
BinaryPrefixComparator          和BinaryComparator差不多涤浇,從前面開始比較

NullComparator     Does not compare against an actual value but whether a given one is null, 
                   or not  null.

BitComparator           Performs a bitwise comparison, providing a BitwiseOp class with OR, 
                        and XOR operators.
RegexStringComparator            正則表達式
SubstringComparator              把數(shù)據當成字符串宙拉,用contains()來判斷
public static List<Property> queryTable(String tableName, String rowKeyReg) {
        TableName name = TableName.valueOf(tableName);
        try (Table table = CONNECTION.getTable(name)) {
            Scan scan = new Scan();

            System.out.println("小于等于rowKeyReg的行(rowKeyReg可以為指定的值)");
                Filter filter = new RowFilter(CompareFilter.CompareOp.LESS_OR_EQUAL,
                                new BinaryComparator(rowKeyReg.getBytes()));
                scan.setFilter(filter);
                ResultScanner scanner = table.getScanner(scan);
                for (Result rs : scanner) {
                        System.out.println(rs);
                }
                scanner.close();

            System.out.println("正則獲取結尾為a的行");
                Filter filter1 = new RowFilter(CompareFilter.CompareOp.EQUAL,
                                new RegexStringComparator(".*a));
                scan.setFilter(filter1);
                ResultScanner scanner1 = table.getScanner(scan);
                for (Result rs : scanner1) {
                        System.out.println(rs);
                }
                scanner1.close();

            System.out.println("包含有b的行");
                Filter filter2 = new RowFilter(CompareFilter.CompareOp.EQUAL,
                                new SubstringComparator("b"));
                scan.setFilter(filter2);
                ResultScanner scanner2 = table.getScanner(scan);
                for (Result rs : scanner2) {
                        System.out.println(res);
                }
                scanner2.close();

           System.out.println("開頭是rowKeyReg 的");
                Filter filter3 = new RowFilter(CompareFilter.CompareOp.EQUAL,
                                new BinaryPrefixComparator(rowKeyReg.getBytes()));
                scan.setFilter(filter3);
                ResultScanner scanner3 = table.getScanner(scan);
                for (Result rs : scanner3) {
                        System.out.println(rs);
                }
                scanner3.close();


            Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,
                    new BinaryPrefixComparator(("\"" + rowKeyReg + "\"").getBytes()));
            scan.setFilter(filter);
            ResultScanner scanner4 = table.getScanner(scan);
            for (Result res : scanner4) {
                Cell[] cells = res.rawCells();
                System.out.println(res);
            }
        } catch (Exception e) {
            log.error("query HBase error", e);
        }
        return null;
    }
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末笨触,一起剝皮案震驚了整個濱河市懦傍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芦劣,老刑警劉巖粗俱,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異虚吟,居然都是意外死亡寸认,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門串慰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來偏塞,“玉大人,你說我怎么就攤上這事邦鲫≈蚶ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵掂碱,是天一觀的道長。 經常有香客問我慎冤,道長疼燥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任蚁堤,我火速辦了婚禮醉者,結果婚禮上,老公的妹妹穿的比我還像新娘披诗。我一直安慰自己撬即,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布呈队。 她就那樣靜靜地躺著剥槐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宪摧。 梳的紋絲不亂的頭發(fā)上粒竖,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天颅崩,我揣著相機與錄音,去河邊找鬼蕊苗。 笑死沿后,一個胖子當著我的面吹牛,可吹牛的內容都是我干的朽砰。 我是一名探鬼主播尖滚,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瞧柔!你這毒婦竟也來了漆弄?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤非剃,失蹤者是張志新(化名)和其女友劉穎置逻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體备绽,經...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡券坞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肺素。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恨锚。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖倍靡,靈堂內的尸體忽然破棺而出猴伶,到底是詐尸還是另有隱情,我是刑警寧澤塌西,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布他挎,位于F島的核電站,受9級特大地震影響捡需,放射性物質發(fā)生泄漏办桨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一站辉、第九天 我趴在偏房一處隱蔽的房頂上張望呢撞。 院中可真熱鬧,春花似錦饰剥、人聲如沸殊霞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绷蹲。三九已至,卻和暖如春顾孽,著一層夾襖步出監(jiān)牢的瞬間瘸右,已是汗流浹背娇跟。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留太颤,地道東北人苞俘。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像龄章,于是被迫代替她去往敵國和親吃谣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容