package com.datangedu.cn.Hbase_test;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
public class TableAdmin {
public static Configuration conf;
public static Connection connection;
//獲取hbase 系統的連接
public void getconnect() throws IOException{
//獲取配置物件
conf =HBaseConfiguration.create();
//因為使用的是集群,需要知道zookeeper配置在那臺主機上以及埠號
conf.set("hbase.zookeeper.quorum","datanode1:2020,datanode2:2020,datanode3:2020");
try {
//獲取連接物件
connection = ConnectionFactory.createConnection(conf);
}catch(IOException e) {
e.printStackTrace();
}
}
//創建表
public void createtable() throws IOException{
//創建tablename物件
TableName tableName = TableName.valueOf("teacher");
//獲取admin物件
Admin admin = connection.getAdmin();
//System.out.println(admin);
//檢查表是否存在
if(admin.tableExists(tableName)){
//禁用表
admin.disableTable(tableName);
//洗掉表
admin.deleteTable(tableName);
//給個提示
System.out.println(tableName.toString() + "重復并已洗掉");
}
TableDescriptorBuilder tdescBuild = TableDescriptorBuilder.newBuilder(tableName);
//創建列族
ColumnFamilyDescriptor baseDataDes = ColumnFamilyDescriptorBuilder.of("bastData");
tdescBuild.setColumnFamily(baseDataDes);
//創建列族
ColumnFamilyDescriptor professionDataDes = ColumnFamilyDescriptorBuilder.of("professionData");
tdescBuild.setColumnFamily(professionDataDes);
//構建表
TableDescriptor tdesc = tdescBuild.build();
admin.createTable(tdesc);
System.out.println("table create success");
admin.close();
}
}
package com.datangedu.cn.Hbase_test;
import java.io.IOException;
public class HbaseTable {
public static void main(String args[]) throws IOException{
TableAdmin tableAdmin = new TableAdmin();
//獲取連接
tableAdmin.getClass();
//創建表
tableAdmin.createtable();
}
}


這個錯誤怎么改
Exception in thread "main" java.lang.NullPointerException
at com.datangedu.cn.Hbase_test.TableAdmin.createtable(TableAdmin.java:40)
at com.datangedu.cn.Hbase_test.HbaseTable.main(HbaseTable.java:13)
uj5u.com熱心網友回復:
求大佬們幫幫忙,急啊轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/104571.html
標籤:Eclipse
上一篇:springboot版本號2.2.6的tomcat問題
下一篇:github檔案網站怎么生成
