輸入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())); } } }