hbase時間段查詢 模糊匹配

2021-07-16 18:27:42 字數 2231 閱讀 6921

比較運算子 comparefilter.compareop

equal                                  相等

greater                              大於

greater_or_equal           大於等於

less                                      小於

less_or_equal                  小於等於

not_equal                        不等於

singlecolumnvaluefilter列值過濾器(時間段查詢)

filterlist filterlist=new filterlist();

string stime = "2016-07-27 00:00:00";

string etime = "2016-07-30 12:04:42";

filter stimefilter = new singlecolumnvaluefilter(bytes.tobytes("base_info"),bytes.tobytes("datetime"), compareop.greater_or_equal, bytes.tobytes(stime));

filterlist.addfilter(stimefilter);

filter etimefilter = new singlecolumnvaluefilter(bytes.tobytes("base_info"),bytes.tobytes("datetime"), compareop.less_or_equal,bytes.tobytes(etime));

filterlist.addfilter(etimefilter);

scan.setfilter(filterlist);

模糊匹配

filterlist filterlist=new filterlist();

substringcomparator comp = new substringcomparator("123456789");

filter likefilter = new singlecolumnvaluefilter(bytes.tobytes("base_info"),

bytes.tobytes("userid"), compareop.equal, comp);

filterlist.addfilter(likefilter);

scan.setfilter(filterlist);

完全匹配

filter equalfilter = new singlecolumnvaluefilter(bytes.tobytes("base_info"),

bytes.tobytes("userid"), compareop.equal, "123456789");

pagefilter指定頁面行數,返回對應行數的結果集。最多返回100條資料

filterlist filterlist=new filterlist();

filter pagefilter = new pagefilter(100);

filterlist.addfilter(pagefilter);

多條件聯合查詢

filterlist filterlist=new filterlist();

//如果先設定最大返回條數,會先查詢出100條資料,在這100條資料中 再過濾userid為123456789的資料。filter順序要特別注意,會造成查詢不準確。

filter pagefilter = new pagefilter(100);

filterlist.addfilter(pagefilter);

substringcomparator comp = new substringcomparator("123456789");

filter likefilter = new singlecolumnvaluefilter(bytes.tobytes("base_info"),

bytes.tobytes("userid"), compareop.equal, comp);

filterlist.addfilter(likefilter);

scan.setfilter(filterlist);

分時間段查詢

declare t table 時間 datetime,金額 int insert t select 2007 1 1 10 00 23 8 union all select 2007 1 1 01 00 04 4 union all select 2007 1 1 01 00 14 4 union...

SQL時間段查詢

access的話 select from table where date1 2008 1 20 and date2 2007 8 30 mysql的話 select from table where date1 2008 1 20 and date2 2007 3 30 也可以 select fr...

SQL時間段查詢

sql時間段查詢 access的話 select from table where date1 2008 1 20 and date2 2007 8 30 mysql的話 select from table where date1 2008 1 20 and date2 2007 3 30 也可以 ...