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");
}
