Hbase 創建表 插入數據
創建表
public static void main(String[] args) throws IOException { // Instantiating configuration class 初始化配置文件 Configuration con = HBaseConfiguration.create(); // Instantiating HbaseAdmin class 初始化HbaseAdmin HBaseAdmin admin = new HBaseAdmin(con); // Instantiating table descriptor class 設置表名 HTableDescriptor tableDescriptor = new TableDescriptor(TableName.valueOf("member")); // Adding column families to table descriptor 設置列族名(可設置多個) tableDescriptor.addFamily(new HColumnDescriptor("personal")); tableDescriptor.addFamily(new HColumnDescriptor("professional")); // Execute the table through admin admin.createTable(tableDescriptor); System.out.println(" Table created "); }
插入數據
public static void main(String[] args) throws IOException { //第一步,設置HBsae配置信息 Configuration configuration = HBaseConfiguration.create(); //注意。這里這行目前沒有注釋掉的,這行和問題3有關系 是要根據自己zookeeper.znode.parent的配置信息進行修改。 configuration.set("hbase.zookeeper.quorum", "192.168.222.128"); //hbase 服務地址 configuration.set("hbase.zookeeper.property.clientPort", "2181"); //端口號 //這里使用的是接口Admin 該接口有一個實現類HBaseAdmin 也可以直接使用這個實現類 Admin admin = ConnectionFactory.createConnection(configuration).getAdmin(); conn = ConnectionFactory.createConnection(configuration); if (admin != null) { try { //獲取到數據庫所有表信息 HTableDescriptor[] allTable = admin.listTables(); for (HTableDescriptor hTableDescriptor : allTable) { System.out.println(hTableDescriptor.getNameAsString()); } } catch (IOException e) { e.printStackTrace(); } } String id = "001828"; String name = "Paul_Smith"; //2、創建數據對象 String rowKey = "101" + "_" + id + "_" + name ; Put put = new Put(Bytes.toBytes(rowKey)); byte[] family = Bytes.toBytes("personal"); put.addColumn(family, Bytes.toBytes("key"), Bytes.toBytes(id)); put.addColumn(family, Bytes.toBytes("value"), Bytes.toBytes(name)); List<Put> puts = new ArrayList<Put>(); puts.add(put); Table table = conn.getTable(TableName.valueOf("member")); table.put(puts); table.close(); System.out.println("sucsssss"); }