java.lang.NullPointerException

qq_43106190 2020-03-30 11:15:04
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)


...全文
123 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43106190 2020-03-30
  • 打赏
  • 举报
回复
求大佬们帮帮忙,急啊

58,447

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧