91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hbase java sample

發布時間:2020-03-08 21:09:34 來源:網絡 閱讀:2813 作者:菜菜光 欄目:關系型數據庫
  1. 通過HBaseAdmin維護表(創建,刪除表)

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.HBaseAdmin;
public class CreateHbaseTable {
    public static void main(String[] args) throws Exception {
       String tbl = "ericni_test";
        Configuration config = HBaseConfiguration. create();
        config.set( "hbase.zookeeper.quorum", "xxxx" );
        config.set( "hbase.zookeeper.property.clientPort" , "2181" );
        HBaseAdmin admin = new HBaseAdmin(config);
        HTableDescriptor[] tables = admin.listTables();
        for(HTableDescriptor t:tables){
            System. out.println(t.getNameAsString());
        }
        if (admin.tableExists(tbl.getBytes("utf8" ))) {
           System. out.println("table already exists!" );
        } else {
            System. out.println("table not already exists!create now!" );
            creatTable(admin,tbl,new String[]{ "info"});
       }
    }
    public static void creatTable(HBaseAdmin admin,String tableName, String[] familys) throws Exception {
            HTableDescriptor tableDesc = new HTableDescriptor(tableName);
            for(int i=0; i<familys.length; i++){
                tableDesc.addFamily( new HColumnDescriptor(familys[i]));
            }
            try{
               admin.createTable(tableDesc);
               System. out.println("create table " + tableName + " ok.");
            } catch (Exception err) {
              System. out.println("create table " + tableName + " failed. Error log is " +  err);
              err.printStackTrace();                                        
            }
    }
   
    public static void deleteTable(HBaseAdmin admin,String tableName) throws Exception {
       try{
                     admin.disableTable(tableName);
                     admin.deleteTable(tableName);
                     System. out.println("delete table " + tableName + " ok.");
       } catch(Exception err){
                     System. out.println("delete table " + tableName + " failed.Error log is " + err);
                     err.printStackTrace();
       }
    }
   
}

2.通過Put寫入數據

import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
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.util.Bytes;
public class LoadDataFromFile {
    public static void main(String[] args) throws Exception {
       String tbl = "ericni_test";
       String filename = "/tmp/click.log";
       File file = new File(filename);  
       BufferedReader reader = null;
        reader = new BufferedReader(new FileReader(file));
        Configuration config = HBaseConfiguration. create();
        config.set( "hbase.zookeeper.quorum", "10.100.90.203" );
        config.set( "hbase.zookeeper.property.clientPort" , "2181" );
        HTable table = new HTable(config, tbl);
        HBaseAdmin admin = new HBaseAdmin(config);
        if (admin.tableExists(tbl.getBytes("utf8" ))) {
           System. out.println("table already exists!" );
           try {
               try {
                   String tmpString = null;
                   int linex = 1;
                   while ((tmpString = reader.readLine()) != null) {
                           //System.out.println(tmpString.getClass());
                           String[] lines = tmpString.split( "\\t");
                           //String[] newlines = {lines[0],lines[1],lines[2],lines[3],lines[4]};  
                           //String row = StringUtils.join(new String[] {lines[0],lines[1],lines[2],lines[3],lines[4]}, "_");
                           StringBuffer sb = new StringBuffer();
                           String row = sb.append(lines[0]).append("_" ).append(lines[1]).append("_").append(lines[2]).append( "_").append(lines[3]).append("_" ).append(lines[4]).toString();
                           String valuex = lines[lines. length-1];                      
                           System. out.println(row);
                           linex ++;
                              addRecord(table,tbl,row, "Stat", "Click_cnt", valuex);
                   }
                   reader.close();
           } catch(IOException err){
                   err.printStackTrace();
           } finally {
                   try{
                           if(reader != null) reader.close();
                   } catch(IOException err){
                           err.printStackTrace();
                   }
           }
              
           } catch(Exception err){
                 System. out.println("load data error" );
                 System. out.println("error log: " + err);
                 err.printStackTrace();
           }        
          
        } else {
            System. out.println("table not already exists!" );
            System. exit(1);
       }
        table.close();
        admin.close();
    }
     public static void addRecord(HTable table,String tableName, String rowKey, String family, String qualifier, String value) throws Exception{
            Put put = new Put(Bytes.toBytes(rowKey));
            put.add(Bytes. toBytes(family), Bytes.toBytes(qualifier), Bytes.toBytes(value));
            table.put(put);
            System. out.println("insert recored " + rowKey + " to table " + tableName + " ok." );
        }
   
}

3.Scan的Filter操作

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.util.Bytes;
public class FilterTest {
    private static Configuration config = null;
    private static HTable table;
    private static HTable table2;
    private static HTable table3;
    static {
        try {
            config = HBaseConfiguration.create();
            config.set("hbase.zookeeper.quorum" , "xxxxx" );    
            config.set("hbase.zookeeper.property.clientPort" , "2181" );
        } catch (Exception e){
            e.printStackTrace();
        }
    }
    public static void selectByRowKey(String tablename,String rowKey) throws IOException{
        table = new HTable(config,tablename);
        Get g = new Get(Bytes.toBytes(rowKey));
        Result r = table.get(g);
        for(KeyValue kv:r.raw()){
            System. out.println("row : " +new String(kv.getRow()));
            System. out.println("column: " +new String(kv.getKey()));
            System. out.println("value: " +new String(kv.getValue()));
        }
    }   
    public static void selectByRowKeyColumn(String tablename,String rowKey,String column,String qualifier) throws IOException{
        table2 = new HTable(config,tablename);
        Get g = new Get(Bytes.toBytes(rowKey));
        g.addColumn(Bytes. toBytes(column),qualifier.getBytes("utf8"));
        Result r = table2.get(g);
        for(KeyValue kv:r.raw()){
            System. out.println("row : " +new String(kv.getRow()));
            System. out.println("column: " +new String(kv.getKey()));
            System. out.println("value: " +new String(kv.getValue()));
        }
    } 
    public static void selectByFilter(String tablename,List<String> arr) throws IOException{
        table3 = new HTable(config,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])
                                                             )
            );
            s1.addColumn(Bytes. toBytes(s[0]), Bytes.toBytes(s[1]));
        }
        s1.setFilter(filterList);
        ResultScanner ResultScannerFilterList = table3.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.getKey()));
                System. out.println("value : " +new String(kv.getValue()));
            }
        }
    }    
    public static void main(String[] args) throws IOException{          
       //selectByRowKey("ericni_test","102_2.94_1400342400_00426_01132");              
           //selectByRowKeyColumn("ericni_test","102_2.94_1400342400_00426_01132"," Stat","Click_cnt");             
        List<String> arr= new ArrayList<String>();
        arr.add( "Stat,Click_cnt,1");
        selectByFilter("ericni_test" ,arr);
    }    
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

敖汉旗| 三穗县| 新巴尔虎左旗| 分宜县| 讷河市| 瑞安市| 侯马市| 肥东县| 疏附县| 来宾市| 东光县| 双桥区| 平陆县| 泗水县| 安徽省| 百色市| 盐津县| 时尚| 建昌县| 岳阳市| 东乌| 南乐县| 定安县| 合江县| 永修县| 汾西县| 呼玛县| 西乌珠穆沁旗| 桑植县| 邵阳市| 奉新县| 崇义县| 邯郸市| 扎囊县| 正宁县| 延庆县| 大英县| 湖南省| 通榆县| 平山县| 平昌县|