目录
复制Hadoop的配置文件core-site.xml和HBase的配置文件hbase-site.xml到resources目录中
这篇文章的源码比较多,需要的私信我
需求与数据集
某自来水公司,需要存储大量的缴费明细数据,以下截取了缴费明细的一部分内容:
用户id |
姓名 |
地址 |
性别 |
缴费时间 |
表示数(本次) |
表示数(上次) |
用量(立方) |
合计金额 |
查表日期 |
最迟缴费日期 |
4944191 |
张三 |
河北省石家庄市裕华区万达校区2-1-401 |
男 |
2022-3-27 |
308.1 |
283.1 |
25 |
150 |
2022-2-25 |
2022-4-24 |
因为缴费明细的数据记录非常庞大,该公司的信息部门决定使用hbase来存储这些数据,并且可以使用java来访问这些数据。
准备工作
idea:社区版免费,企业版收费
eclipse:开源免费
下载安装maven
下载安装idea
配置国内的maven镜像库
创建一个maven工程
修改pom文件,导入相关的依赖
复制Hadoop的配置文件core-site.xml和HBase的配置文件hbase-site.xml到resources目录中
先导出到本地计算机
再添加一个日志log4j的配置文件
创建包结构
创建hbase连接类及管理对象
测试
这个是一个小测试,来测试环境,下面那个才是真正的连接器
package cn.edu.hgu.dashuju19.hbase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import java.io.IOException;
/**
* @description: 创建hbase的连接及管理对象
* @author:
* @date: 2022-3-28
*/
public class HbaseConnect {
public static void main(String[] args){
//1、创建hbase的配置
Configuration configuration = new Configuration();
//2、创建hbase的连接
Connection connection;
{
try {
connection = ConnectionFactory.createConnection(configuration);
System.out.println(connection);
//3、创建admin对象
Admin admin = connection.getAdmin();
System.out.println(admin);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
创建
package cn.edu.hgu.dashuju19.hbase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
/**
* Hbase_connect
* @author
* @date 2022-03-30 11:58
*/
public class HbaseConnect {
private static Connection connection;
private static Admin admin;
public static void main(String[] args) throws IOException {
// 1. 使用HbaseConfiguration.create()创建Hbase配置
Configuration configuration = HBaseConfiguration.create();
// 2. 使用ConnectionFactory.createConnection()创建Hbase连接
connection = ConnectionFactory.crea