日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实现Hbase中的查询(一)Filter方式

發布時間:2024/10/12 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现Hbase中的查询(一)Filter方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、需要的jar包:

commons-codec-1.4.jar

commons-logging-1.0.4.jar

hadoop-0.20.2-core.jar

hbase-0.20.6.jar

log4j-1.2.15.jar

zookeeper-3.2.2.jar

?

2、已有表結構:

1、表名:scores

2、列族:

course:art

course:math

grade:

???

3、scan 'scores'的內容:

ROW????????????????????????? COLUMN+CELL?????????????????????????????????????????????????????????????????????
?Jerry?????????????????????? column=course:art, timestamp=1301294630194, value=80????????????????????????????
?Jerry?????????????????????? column=course:math, timestamp=1301294630132, value=100??????????????????????????
?Jerry?????????????????????? column=grade:, timestamp=1301294630073, value=2?????????????????????????????????
?Jim???????????????????????? column=course:art, timestamp=1301294630363, value=97????????????????????????????
?Jim???????????????????????? column=course:math, timestamp=1301294630305, value=100??????????????????????????
?Jim???????????????????????? column=grade:, timestamp=1301294630247, value=3?????????????????????????????????
?Tom???????????????????????? column=course:art, timestamp=1301294630015, value=97????????????????????????????
?Tom???????????????????????? column=course:math, timestamp=1301294629987, value=87???????????????????????????
?Tom???????????????????????? column=grade:, timestamp=1301294629931, value=1

?

4、代碼:

[java:nogutter] view plaincopy
  • package?org.myhbase;??
  • ??
  • import?java.io.IOException;??
  • import?java.util.ArrayList;??
  • import?java.util.List;??
  • ??
  • import?org.apache.hadoop.conf.Configuration;??
  • import?org.apache.hadoop.hbase.HBaseConfiguration;??
  • import?org.apache.hadoop.hbase.KeyValue;??
  • import?org.apache.hadoop.hbase.client.Get;??
  • import?org.apache.hadoop.hbase.client.HTable;??
  • import?org.apache.hadoop.hbase.client.Result;??
  • import?org.apache.hadoop.hbase.client.ResultScanner;??
  • import?org.apache.hadoop.hbase.client.Scan;??
  • import?org.apache.hadoop.hbase.filter.FilterList;??
  • import?org.apache.hadoop.hbase.filter.SingleColumnValueFilter;??
  • import?org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;??
  • import?org.apache.hadoop.hbase.io.Cell;??
  • import?org.apache.hadoop.hbase.util.Bytes;??
  • ??
  • public?class?HBaseBasic03?{??
  • ????private?static?HBaseConfiguration?hbaseConfig=null;??
  • ????static{??
  • ????????Configuration?config=new?Configuration();??
  • ????????config.set("hbase.zookeeper.quorum","192.168.10.149,192.168.10.44,192.168.10.49");??
  • ????????config.set("hbase.zookeeper.property.clientPort",?"2181");??
  • ????????hbaseConfig=new?HBaseConfiguration(config);??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?get方式,通過rowKey查詢?
  • ?????*?@param?tablename?
  • ?????*?@param?rowKey?
  • ?????*?@throws?IOException?
  • ?????*/??
  • ????public?static?void?selectByRowKey(String?tablename,String?rowKey)?throws?IOException{??
  • ????????HTable?table=new?HTable(hbaseConfig,tablename);??
  • ????????Get?g?=?new?Get(Bytes.toBytes(rowKey));??
  • ????????Result?r=table.get(g);??
  • ????????for(KeyValue?kv:r.raw()){??
  • ????????????System.out.println("column:?"+new?String(kv.getColumn()));??
  • ????????????System.out.println("value:?"+new?String(kv.getValue()));??
  • ????????}??
  • ????}??
  • ??????
  • ????/**?
  • ?????*?get方式,通過rowKey、column查詢?
  • ?????*?@param?tablename?
  • ?????*?@param?rowKey?
  • ?????*?@param?column?
  • ?????*?@throws?IOException?
  • ?????*/??
  • ????public?static?void?selectByRowKeyColumn(String?tablename,String?rowKey,String?column)?throws?IOException{??
  • ????????HTable?table=new?HTable(hbaseConfig,tablename);??
  • ????????Get?g?=?new?Get(Bytes.toBytes(rowKey));??
  • ????????g.addColumn(Bytes.toBytes(column));??
  • ????????Result?r=table.get(g);??
  • ????????for(KeyValue?kv:r.raw()){??
  • ????????????System.out.println("column:?"+new?String(kv.getColumn()));??
  • ????????????System.out.println("value:?"+new?String(kv.getValue()));??
  • ????????}??
  • ????}??
  • ??????
  • ??????
  • ????public?static?void?selectByFilter(String?tablename,List<String>?arr)?throws?IOException{??
  • ????????HTable?table=new?HTable(hbaseConfig,tablename);??
  • ????????FilterList?filterList?=?new?FilterList();??
  • ????????Scan?s1?=?new?Scan();??
  • ????????for(String?v:arr){?//?各個條件之間是“與”的關系??
  • ????????????String?[]?s=v.split(",");??
  • ????????????filterList.addFilter(new?SingleColumnValueFilter(Bytes.toBytes(s[0]),??
  • ?????????????????????????????????????????????????????????????Bytes.toBytes(s[1]),??
  • ?????????????????????????????????????????????????????????????CompareOp.EQUAL,Bytes.toBytes(s[2])??
  • ?????????????????????????????????????????????????????????????)??
  • ????????????);??
  • ????????????//?添加下面這一行后,則只返回指定的cell,同一行中的其他cell不返回??
  • //??????????s1.addColumn(Bytes.toBytes(s[0]),?Bytes.toBytes(s[1]));??
  • ????????}??
  • ????????s1.setFilter(filterList);??
  • ????????ResultScanner?ResultScannerFilterList?=?table.getScanner(s1);??
  • ????????for(Result?rr=ResultScannerFilterList.next();rr!=null;rr=ResultScannerFilterList.next()){??
  • ????????????for(KeyValue?kv:rr.list()){??
  • ????????????????System.out.println("row?:?"+new?String(kv.getRow()));??
  • ????????????????System.out.println("column?:?"+new?String(kv.getColumn()));??
  • ????????????????System.out.println("value?:?"+new?String(kv.getValue()));??
  • ????????????}??
  • ????????}??
  • ????}??
  • ??????
  • ????public?static?void?main(String?[]?args)?throws?IOException{??
  • ??????????
  • ????????//?按rowkey查詢,查詢Tom行的所有cell??
  • ????????HBaseBasic03.selectByRowKey("scores","Tom");??
  • ??????????
  • ????????//?按rokey?和?column?來查詢,查詢Tom行course列族的所有列值??
  • ????????HBaseBasic03.selectByRowKeyColumn("scores","Tom","course");??
  • ??????????
  • ????????//?Filter多條件查詢,條件:查詢?course列族中art列值為97?,且?course列族中math列值為100的行??
  • ????????List<String>?arr=new?ArrayList<String>();??
  • ????????arr.add("course,art,97");??
  • ????????arr.add("course,math,100");??
  • ????????HBaseBasic03.selectByFilter("scores",arr);??
  • ??????????
  • ????}??
  • ??????
  • }?
  • 轉載于:https://www.cnblogs.com/end/archive/2012/08/23/2652455.html

    總結

    以上是生活随笔為你收集整理的java实现Hbase中的查询(一)Filter方式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久国产这里只有精品 | 国产成人无码精品 | 午夜精品网 | 欧美毛片基地 | aav在线| 日本熟妇乱子伦xxxx | 91免费观看网站 | 女王人厕视频2ⅴk | 男人看的网站 | 一区二区中文在线 | 91亚洲国产成人久久精品网站 | 私人毛片 | 日韩日韩| 91精品国产色综合久久不卡蜜臀 | 精品视频一二区 | 国产无遮挡a片又黄又爽 | 亚洲天堂三级 | 国产 日韩 欧美 制服丝袜 | 国产免费无码一区二区 | 在线超碰 | 午夜资源站| 成人日b视频 | 手机版av | 极品销魂美女一区二区三区 | 香蕉视频网站在线 | 成人一区二区在线观看 | 欧美青草视频 | av手机网站| 黑人玩弄人妻一区二区绿帽子 | 开心色99| 国产成人精品久久二区二区91 | 国产一区福利 | 久久久久成人精品无码中文字幕 | 亚洲美女一区二区三区 | 99精品国产一区二区 | 操bbbbb| 大乳巨大乳j奶hd | 手机看片欧美 | 久久99热久久99精品 | av在线黄色| 精品久久久无码中文字幕边打电话 | 中文字幕手机在线视频 | 午夜视频一区二区 | 久久三级网 | 奇米狠狠| 欧美一区久久 | 激情aaa | 国产又粗又猛又爽又 | 西比尔在线观看完整视频高清 | 日本美女视频网站 | 亚洲 欧美 中文字幕 | 精品国产乱码久久久 | 日韩精品无码一本二本三本色 | 可以免费观看的毛片 | 97人人人 | 久久久久久日产精品 | 午夜一区二区三区免费观看 | 黄色av视屏 | 精品国产视频一区二区 | 欧美三级视频在线观看 | 欧美激情网 | 免费黄色激情视频 | 黄色日韩在线 | 日本精品黄| 色多多污 | 国产一区二区三区播放 | 美女被变态侵犯 | 日本一区二区三区视频在线播放 | 久久免费网 | 国产精品无码无卡无需播放器 | 上原亚衣在线 | 国产精品男女视频 | xxxxxx国产| 韩国无码一区二区三区精品 | 日日摸夜夜添狠狠添久久精品成人 | 丁香伊人网 | 国产在线h| 完全免费av | 日韩人妻一区二区三区蜜桃 | 丰满大乳国产精品 | 激情欧美网站 | 欧美成人免费网站 | 亚洲欧美91 | 中文字幕手机在线视频 | 国产精品一二三区 | 波多野吉衣久久 | 少妇一级1淫片 | 麻豆资源 | 大香伊人久久 | 国产精品天天干 | 丝袜毛片 | 国产网站无遮挡 | 狠狠天天 | 秋霞午夜鲁丝一区二区老狼 | 免费的黄色的视频 | 国产噜噜噜 | 欧美专区综合 | 欧美一区二区三区爱爱 | 高清一区二区三区四区五区 |