ããæ¥éª¤å¦ä¸ï¼
ãã1ï¼ä»HBaseé群ä¸å¤å¶ä¸ä»½Hbaseé¨ç½²æ件ï¼æ¾ç½®å¨å¼å端æä¸ç®å½ä¸ï¼å¦å¨/app/hadoop/hbase096ç®å½ä¸ï¼ã
ãã2ï¼å¨eclipseéæ°å»ºä¸ä¸ªjava项ç®HBaseï¼ç¶åéæ©é¡¹ç®å±æ§ï¼å¨Libraries->Add External JARs...,ç¶åéæ©/app/hadoop/hbase096/libä¸ç¸å
³çJARå
ï¼å¦æåªæ¯æµè¯ç¨çè¯ï¼å°±ç®åä¸ç¹ï¼å°ææçJARéä¸ã
ãã3ï¼å¨é¡¹ç®HBaseä¸å¢å ä¸ä¸ªæ件夹confï¼å°Hbaseé群çé
ç½®æ件hbase-site.xmlå¤å¶å°è¯¥ç®å½ï¼ç¶åéæ©é¡¹ç®å±æ§å¨Libraries->Add Class Folderï¼å°ååå¢å çconfç®å½éä¸ã
ãã4ï¼å¨HBase项ç®ä¸å¢å ä¸ä¸ªchapter12çpackageï¼ç¶åå¢å ä¸ä¸ªHBaseTestCaseçclassï¼ç¶åå°ãHadoopå®æ第2çã12ç« ç代ç å¤å¶è¿å»ï¼åéå½çä¿®æ¹ï¼ä»£ç å¦ä¸ï¼
ããpackage chapter12;
ããimport java.io.IOException;
ããimport org.apache.hadoop.conf.Configuration;
ããimport org.apache.hadoop.hbase.HBaseConfiguration;
ããimport org.apache.hadoop.hbase.HColumnDescriptor;
ããimport org.apache.hadoop.hbase.HTableDescriptor;
ããimport org.apache.hadoop.hbase.client.Get;
ããimport org.apache.hadoop.hbase.client.HBaseAdmin;
ããimport org.apache.hadoop.hbase.client.HTable;
ããimport org.apache.hadoop.hbase.client.Put;
ãã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.util.Bytes;
ããpublic class HBaseTestCase {
ãã//声æéæé
ç½® HBaseConfiguration
ããstatic Configuration cfg=HBaseConfiguration.create();
ãã//å建ä¸å¼ 表ï¼éè¿HBaseAdmin HTableDescriptoræ¥å建
ããpublic static void creat(String tablename,String columnFamily) throws Exception {
ããHBaseAdmin admin = new HBaseAdmin(cfg);
ããif (admin.tableExists(tablename)) {
ããSystem.out.println("table Exists!");
ããSystem.exit(0);
ãã}
ããelse{
ããHTableDescriptor tableDesc = new HTableDescriptor(tablename);
ããtableDesc.addFamily(new HColumnDescriptor(columnFamily));
ããadmin.createTable(tableDesc);
ããSystem.out.println("create table success!");
ãã}
ãã}
ãã
ãã//æ·»å ä¸æ¡æ°æ®ï¼éè¿HTable Put为已ç»åå¨ç表æ¥æ·»å æ°æ®
ããpublic static void put(String tablename,String row, String columnFamily,String column,String data) throws Exception {
ããHTable table = new HTable(cfg, tablename);
ããPut p1=new Put(Bytes.toBytes(row));
ããp1.add(Bytes.toBytes(columnFamily), Bytes.toBytes(column), Bytes.toBytes(data));
ããtable.put(p1);
ããSystem.out.println("put '"+row+"','"+columnFamily+":"+column+"','"+data+"'");
ãã}
ãã
ããpublic static void get(String tablename,String row) throws IOException{
ããHTable table=new HTable(cfg,tablename);
ããGet g=new Get(Bytes.toBytes(row));
ããResult result=table.get(g);
ããSystem.out.println("Get: "+result);
ãã}
ãã//æ¾ç¤ºæææ°æ®ï¼éè¿HTable Scanæ¥è·åå·²æ表çä¿¡æ¯
ããpublic static void scan(String tablename) throws Exception{
ããHTable table = new HTable(cfg, tablename);
ããScan s = new Scan();
ããResultScanner rs = table.getScanner(s);
ããfor(Result r:rs){
ããSystem.out.println("Scan: "+r);
ãã}
ãã}
ãã
ããpublic static boolean delete(String tablename) throws IOException{
ãã
ããHBaseAdmin admin=new HBaseAdmin(cfg);
ããif(admin.tableExists(tablename)){
ããtry
ãã{
ããadmin.disableTable(tablename);
ããadmin.deleteTable(tablename);
ãã}catch(Exception ex){
ããex.printStackTrace();
ããreturn false;
ãã}
ãã
ãã}
ããreturn true;
ãã}
ãã
ããpublic static void main (String [] agrs) {
ããString tablename="hbase_tb";
ããString columnFamily="cf";
ãã
ããtry {
ããHBaseTestCase.creat(tablename, columnFamily);
ããHBaseTestCase.put(tablename, "row1", columnFamily, "cl1", "data");
ããHBaseTestCase.get(tablename, "row1");
ããHBaseTestCase.scan(tablename);
ãã/* if(true==HBaseTestCase.delete(tablename))
ããSystem.out.println("Delete table:"+tablename+"success!");
ãã*/
ãã}
ããcatch (Exception e) {
ããe.printStackTrace();
ãã}
ãã}
ãã}
ãã5ï¼è®¾ç½®è¿è¡é ç½®ï¼ç¶åè¿è¡ãè¿è¡åå°Hbaseé群å å¯å¨ã
ãã6ï¼æ£éªï¼ä½¿ç¨hbase shellæ¥çhbaseï¼åç°å·²ç»å»ºç«è¡¨hbase_tbã