Jave操作Hbase——建立学生信息管理系统

上文对hbase的建表、对数据的插入、查询、删除进行封装

 

(62条消息) Hbase学习——对表操作进行封装_小镭敲代码的博客-CSDN博客

本文调用封装好的方法,建立学生信息管理系统,实现

1、注册学生信息

2、查看学生信息

3、删除学生信息

4、修改学生信息

import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
import java.util.Scanner;

public class StudentTest {
    static String tablename = "Student123:stuinfo";

    public static void main(String[] args) throws IOException {
        HbaseHelper.Exec_CreateNameSpace("Student123");
        HbaseHelper.Exec_CreateTable(tablename,"info");
        while(true){
            System.out.println("欢迎访问学生信息系统");
            System.out.println("1、注册学生信息");
            System.out.println("2、查看学生信息");
            System.out.println("3、删除学生信息");
            System.out.println("4、修改学生信息");
            Scanner scanner = new Scanner(System.in);
            String choice = scanner.next();
            switch(choice){
                case"1":
                    System.out.println("调用注册的方法");
                    AddStu();
                    break;
                case"2":
                    System.out.println("调用查看的方法");
                    GetStu();
                    break;
                case"3":
                    System.out.println("调用删除的方法");
                    DelStu();
                    break;
                case"4":
                    System.out.println("调用修改的方法");
                    ExStu();
                    break;
            }
        }
    }

    public static void AddStu() throws IOException{
        Scanner scanner = new Scanner(System.in);
        System.out.println("——————————————————————————————");
        System.out.println("这里是学生的注册功能界面");
        System.out.println("请输入学号:");
        String stuid = scanner.next();
        System.out.println("请输入姓名:");
        String stuname = scanner.next();
        System.out.println("请输入年龄:");
        String stuage = scanner.next();
        boolean r1 = HbaseHelper.Exec_AddData(tablename,"info",stuid,"stuid",stuid);
        boolean r2 = HbaseHelper.Exec_AddData(tablename,"info",stuid,"stuname",stuname);
        boolean r3 = HbaseHelper.Exec_AddData(tablename,"info",stuid,"stuage",stuage);
        if(r1&&r2&&r3){
            System.out.println("注册成功");
        }
    }

    public static void DelStu() throws IOException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("——————————————————————————————");
        System.out.println("这里是学生的删除功能界面");
        System.out.println("请选择是1、删除整个学生信息 2、删除单个列");
        String choice = scanner.next();
        String stuid = " ";
        if(choice.equals("1")){
            System.out.println("请输入学号:");
            stuid = scanner.next();
            System.out.println(stuid);
            boolean r = HbaseHelper.Exec_DelDate(tablename,stuid);
            if(r){
                System.out.println("删除整行信息成功");
            }
        }else{
            System.out.println("请输入学号:");
            stuid = scanner.next();
            System.out.println(stuid);
            System.out.println("请输入要删除的列(stuid,name,age):");
            String delColumn = scanner.next();
            boolean r = HbaseHelper.Exec_DelDate(tablename,stuid,"info",delColumn);
            if(r){
                System.out.println("删除单个单元格信息成功");
            }
        }
    }

    public static void GetStu() throws IOException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("——————————————————————————————");
        System.out.println("这里是学生的查询功能界面");
        System.out.println("请输入学号:");
        String stuid = scanner.next();
        Result result = HbaseHelper.Exec_GetDataByRowKey(tablename,stuid);
        if(result.isEmpty()){
            System.out.println("没有找到该学生的信息");
        }else{
            for (Cell cell:result.rawCells()){
                System.out.println("rowkey:"+ Bytes.toString(CellUtil.cloneRow(cell)));
                System.out.println("family:"+ Bytes.toString(CellUtil.cloneFamily(cell)));
                System.out.println("column:"+ Bytes.toString(CellUtil.cloneQualifier(cell)));
                System.out.println("value:"+ Bytes.toString(CellUtil.cloneValue(cell)));
            }
            //System.out.println("学号"+Byte.toString(CellUtil.cloneRow(cell))+"姓名"+"年龄");

        }
    }

    public static void ExStu() throws IOException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("——————————————————————————————");
        System.out.println("这里是学生的修改功能界面");
        System.out.println("请输入学号:");
        String stuid = scanner.next();
        System.out.println("请输入要修改的列(stuid/name/age):");
        String exchange1 = scanner.next();
        System.out.println("请输入要修改的内容");
        String exchange2 = scanner.next();
        boolean r = HbaseHelper.Exec_AddData(tablename,"info",stuid,exchange1,exchange2);
        if(r){
            System.out.println("修改成功!");
        }
    }

}

运行项目,结果展示:

  • 8
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
学生信息管理系统一个用于存储、管理和查询学生信息的系统,基于HBase分布式环境实现学生信息管理系统具有高性能、高可用和高扩展性等优势。系统将学生的个人信息、成绩、考勤、课程等数据存储在HBase集群中,利用HBase的分布式存储和分布式计算能力,可以实现海量数据的存储和快速查询。 在实现学生信息管理系统中,首先需要设计HBase数据模型,确定各个的row key、column family和column qualifier等结构。然后通过Hadoop技术将数据存储在HBase集群中,利用HBase提供的API进行数据的增删改查操作。同时,结合HBase的版本控制特性,可以实现学生信息的历史版本查询和数据回溯功能。 另外,学生信息管理系统还可以利用HBase的数据复制功能实现数据的备份和灾难恢复,保障学生信息的安全性和可靠性。同时,基于HBase的数据分区和设置预分区策略,可以实现系统的水平扩展,支持更多学生信息的存储和管理。 此外,在学生信息管理系统中,还可以利用HBase的过滤器、协处理器和区域服务器端点等特性进行数据的过滤和计算,实现学生信息的统计分析和业务处理。同时,通过与HBase集成的Hive、Spark等数据处理和计算框架,还可以实现更复杂的学生信息分析和挖掘。 综上所述,基于HBase分布式环境实现学生信息管理系统能够充分发挥HBase的分布式存储和分布式计算能力,实现学生信息的高效存储、快速查询和多样化分析,满足学校教务管理和学生服务的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值