APIのHBaseの

輸入org.apache.hadoop.conf.Configuration。
輸入org.apache.hadoop.hbase。* ; 
輸入org.apache.hadoop.hbase.client。* ; 
輸入org.apache.hadoop.hbase.util.Bytes。
インポートにjava.io.IOException; 
輸入はjava.util.ArrayList; 


パブリック クラスHbaseClients {
     パブリック 静的  接続の接続。
    パブリック 静的 ボイドメイン(文字列[]引数)は例外{スロー
        作成(" KGC "" CF1 "" CF2 "" CF 3を");
         // ( "KGC")を削除;
         // スキャン( "TEST02"); 
    }
     // 初期化は、接続オブジェクトパラメータ
    静的{
         // confに 
        設定CONF = HBaseConfiguration.createを(); 
        。confにSET" のHBase。 zookeeper.quorum " " 192.168.159.110 " ); 
        CONF。SET" hbase.zookeeper.property.clientPort " " 2181 " );
         //は、HBaseのリンクを取得オブジェクトConnectionFactoryの
        試み {
            接続 = ConnectionFactory.createConnection(CONF)。
        } キャッチ(IOExceptionを電子){ 
            e.printStackTrace(); 
        } 
    } 
    // 创建表
    パブリック 静的 ボイド作成(文字列を文字列テーブルを...のfamilys)例外{スロー
         //を首先要拿到管理 
        管理管理= connection.getAdmin()。
        // 新しい 
        HTableDescriptor htable = 新しいHTableDescriptor(TableName.valueOf(表));
        // htable 
        のための(文字列ファミリ:のfamilys){ 
            htable.addFamily(新しい新しいHColumnDescriptor(ファミリー)); 
        } 
        admin.createTable(htable); 
        。システムは、OUT .println(" 正常に作成" ); 
    } 
    // テーブルの削除
    パブリック 静的な 無効)[削除](文字列表は例外{スロー
        管理ADMINを = connection.getAdmin( );
         // テーブルがあるか否かを判断する
        のiF (admin.tableExists(TableName.valueOf(表))){
             // ダウンし
            admin.disableTable(TableName.valueOf(表));
             // 削除
            admin.deleteTable(TableName.valueOf (表))。
            システム。アウト .println(" 删除成功" ); 
        } { 
            システム。アウト .println(" 对不起、表不存在" ); 
        } 
    } 
    // 添加数据
    パブリック 静的 ボイドは、addData(文字列テーブル、文字列のrowKey、文字columnFamily、文字列、文字列値)例外{スロー
        テーブルtable1 = connection.getTable(TableName.valueOf(テーブル))。
        // NEW PUT 
        入れプット= 新しいのPut(Bytes.toBytes(のrowKey));
        // プット
        puts.add(Bytes.toBytes(columnFamily)、Bytes.toBytes(カラム)、Bytes.toBytes(値))。
        table1.put(プット)。
        システム。アウト .println(" 添加数据成功" ); 
    } 
    //は一行(のrowKey)数据删除
    公共 静的 ボイドdelterow(文字列テーブルは、文字列のrowKey)をスロー例外{ 
        テーブルtable1 = connection.getTable(TableName.valueOf(表))。
        // 新しい削除 
        削除削除= 新しい削除(Bytes.toBytes(のrowKey));
        // 删除
        table1.delete(削除)。
        システム。でる.printlnは(" ラインデータが正常である削除" ); 
    } 
    // 複数の行を削除
    パブリック 静的 ボイドDeleteRows(表文字列、文字列... rowkeys)はスロー例外{ 
        テーブルtable1 = Connection.GetTable(TableName.valueOf(表))。
         // 新しい新規リスト 
        のArrayList <削除>リスト= 新しい新規のArrayList <> ();
         のために(文字列のrowKey:rowkeys){ 
            List.add(新しい新しい削除(Bytes.toBytes(のrowKey))); 
        } 
        table1.delete(一覧); 
        システム。OUT .println(複数行の成功を削除" ); 
    } 
    // スキャン扫描
    パブリック 静的 ボイドスキャン(文字列テーブル)スロー例外{ 
        テーブルtable1 = connection.getTable(TableName.valueOf(表));
         // 新しいスキャン 
        スキャン=スキャン新しいスキャン();
         // 結果を就是所有的のrowKey的集合 
        ResultScanner結果= table1.getScanner(スキャン)
         するための(結果結果:結果){
             // 細胞的集合 
            細胞[]細胞=のresult.rawCells();
             (セルセル:セル){ 
                。システムアウト.println(Bytes.toString(cell.getRow()))。
                システム。アウト.println(Bytes.toString(cell.getFamily())); 
                システム。アウト.println(Bytes.toString(cell.getQualifier())); 
                システム。アウト.println(Bytes.toString(cell.getValue())); 
            } 
        } 
    } 
    // 取得
    パブリック 静的 ボイド GET (文字列テーブル、文字列のrowKey)は例外{スロー
        テーブルtable1 = connection.getTable(TableName.valueOf(テーブル))。
        // 新しい取得 
        取得GET = 新しいです(Bytes.toBytes(のrowKey))を取得します。
        結果結果 = TABLE1。取得取得)。
        セル[]細胞 =のresult.rawCells()。
        {(セル電池セル)
            システム。アウト.println(Bytes.toString(cell.getRow())); 
            システム。アウト.println(Bytes.toString(cell.getFamily())); 
            システム。アウト.println(Bytes.toString(cell.getQualifier())); 
            システム。アウト.println(Bytes.toString(cell.getValue())); 
        } 
    } 
}

 

おすすめ

転載: www.cnblogs.com/wangshuang123/p/10981008.html