作业17答案

(1)

package com.zucc.tiny; import java.io.IOException; 

import org.apache.hadoop.conf.Configuration; 
import org.apache.hadoop.hbase.client.*; 
import org.apache.hadoop.hbase.*; 

public class HBase { 
    public static Configuration configuration; 
    public static Connection connection; 
    public static Admin admin; 

    public static void createTable(String tableName,String[] fields) throws IOException { 
        init(); 
        TableName tablename = TableName.valueOf(tableName); 
        if(admin.tableExists(tablename)){ 
            System.out.println("table is exists!"); 
            admin.disableTable(tablename); 
            admin.deleteTable(tablename);//删除原来的表 
        } 
        HTableDescriptor hTableDescriptor = new HTableDescriptor(tablename); 
        for(String str:fields){ 
            HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str); 
            hTableDescriptor.addFamily(hColumnDescriptor); 
        } 
        admin.createTable(hTableDescriptor); 
        close(); 
    } 

    public static void init() { 
        configuration = HBaseConfiguration.create(); 
        configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase"); 
        try { 
            connection = ConnectionFactory.createConnection(configuration); 
            admin = connection.getAdmin(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 

    // 关闭连接 
    public static void close() { 
        try { 
            if (admin != null) { 
                admin.close(); 
            } 
            if (null != connection) { 
                connection.close(); 
            } 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 

    public static void main(String[] args) { 
        String[]fields={"Score"}; 
        try { 
            HBase.createTable("person", fields); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 
}

(2)

package com.zucc.tiny; 

import java.io.IOException; 
import org.apache.hadoop.conf.Configuration; 
import org.apache.hadoop.hbase.client.*; 
import org.apache.hadoop.hbase.*; 

public class HBase { 
    public static Configuration configuration; 
    public static Connection connection; 
    public static Admin admin; 

    public static void addRecord(String tableName,String row,String[] fields,String[] values) throws IOException { 
        init(); Table table = connection.getTable(TableName.valueOf(tableName)); 
        for(int i = 0;i != fields.length;i++){ 
            Put put = new Put(row.getBytes()); 
            String[] cols = fields[i].split(":"); 
            put.addColumn(cols[0].getBytes(), cols[1].getBytes(), values[i].getBytes()); 
            table.put(put); 
        } 
        table.close(); 
        close(); 
    } 

    public static void init() { 
        configuration = HBaseConfiguration.create(); 
        configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase"); 
        try { 
            connection = ConnectionFactory.createConnection(configuration); 
            admin = connection.getAdmin(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 

    // 关闭连接 
    public static void close() { 
        try { 
            if (admin != null) { 
                admin.close(); 
            } 
            if (null != connection) { 
                connection.close(); 
            } 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 

    public static void main(String[] args) { 
        String[]fields={"Score:Math","Score:Computer Science","Score:English"}; 
        String[]values={"99","80","100"}; 
        try { 
            HBase.addRecord("person", "Score", fields, values); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
    } 
}

results matching ""

    No results matching ""