客户端和服务端模式的代码开发规则
- step1:构建连接对象,指定连接服务端地址
- step2:调用连接对象的方法,实现需求
- step3:释放连接对象
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
import java.util.List;
public class Demo1 {
public static void main(String[] args)throws Exception {
Demo1 dDlTest = new Demo1();
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum","node1:2181,node2:2181,node3:2181");
Connection conn = ConnectionFactory.createConnection(conf);
HBaseAdmin admin = (HBaseAdmin) conn.getAdmin();
dDlTest.createTable(admin);
dDlTest.listTables(admin);
dDlTest.listNs(admin);
dDlTest.createNs(admin);
dDlTest.dropNS(admin);
}
private void dropNS(HBaseAdmin admin) throws IOException {
admin.deleteNamespace("besic");
}
private void createNs(HBaseAdmin admin) throws IOException {
NamespaceDescriptor build = NamespaceDescriptor.create("wxy").build();
admin.createNamespace(build);
}
private void listNs(HBaseAdmin admin) throws IOException {
NamespaceDescriptor[] nd = admin.listNamespaceDescriptors();
for (NamespaceDescriptor descriptor : nd) {
System.out.println(descriptor.getName());
}
}
private void listTables(HBaseAdmin admin) throws IOException {
List<TableDescriptor> tableDescriptors = admin.listTableDescriptors();
for (TableDescriptor tableDescriptor : tableDescriptors) {
System.out.println(tableDescriptor.getTableName().getNameAsString());
}
}
private void createTable(HBaseAdmin admin) throws IOException {
TableName tbname = TableName.valueOf("itcast:t1");
if (admin.tableExists(tbname)){
admin.disableTable(tbname);
admin.deleteTable(tbname);
}
ColumnFamilyDescriptor basic = ColumnFamilyDescriptorBuilder
.newBuilder(Bytes.toBytes("basic"))
.setMaxVersions(3)
.build();
ColumnFamilyDescriptor other = ColumnFamilyDescriptorBuilder
.newBuilder(Bytes.toBytes("other"))
.setMaxVersions(3)
.build();
TableDescriptor desc = TableDescriptorBuilder
.newBuilder(tbname)
.setColumnFamily(basic)
.setColumnFamily(other)
.build();
admin.createTable(desc);
}
}