Utils:主要是一些工具类,用以完成一些基本操作如:创建命名空间、创建表、判断表是否存在等功能

package tyh.utils;import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.util.Bytes;
import tyh.constants.constants;import java.io.IOException;/*** 1、创建命名空间* 2、判断表是否存在* 3、创建表*/
public class HBaseUtil {//一、创建命名空间public static void CreateNameSpace(String nameSpace) {Admin admin = null;try {//1、获取connection对象,需要用到configuration对象,但configuration是全局的,所有操作统一要用的,// 没必要每次操作都弄一个新的,统一调用constants中的configuration对象// Configuration configuration = HBaseConfiguration.create();Connection connection = ConnectionFactory.createConnection(constants.CONFIGURATION);//2、获取admin对象admin = connection.getAdmin();//3、创建命名空间描述器NamespaceDescriptor namespaceDescriptor = NamespaceDescriptor.create(nameSpace).build();//4、创建命名空间admin.createNamespace(namespaceDescriptor);} catch (MasterNotRunningException e) {//master没有启动e.printStackTrace();} catch (ZooKeeperConnectionException e) {//zookeeper连接不上e.printStackTrace();} catch (NamespaceExistException e) {//命名空间已存在e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {//5、关闭资源if (admin != null) {try {admin.close();} catch (IOException e) {e.printStackTrace();}}}}//二、判断表是否存在public static boolean TableExists(String tableName) {Admin admin = null;boolean exists = false;try {//1、获取connection对象Connection connection = ConnectionFactory.createConnection(constants.CONFIGURATION);//2、获取admin对象admin = connection.getAdmin();//3、判断表是否存在exists = admin.tableExists(TableName.valueOf(tableName));} catch (IOException e) {e.printStackTrace();} finally {if (admin != null) {try {//4、关闭资源admin.close();} catch (IOException e) {e.printStackTrace();}}}//5、返回结果return exists;}//三、创建表//这里抛出异常是为了根据实际情况对异常进行处理public static void CreateTable(String tableName, int Versions, String... cfs) throws IOException {//1、判断是否有列族信息if (cfs.length == 0){System.out.println("请设置列族信息!!");return;}//2、判断表是否存在if (TableExists(tableName)){System.out.println("该表已存在!!");return;}//3、获取connection对象Connection connection = ConnectionFactory.createConnection(constants.CONFIGURATION);//4、获取admin对象Admin admin = connection.getAdmin();//5、创建表描述器HTableDescriptor hTableDescriptor = new HTableDescriptor(TableName.valueOf(tableName));for (String cf : cfs) {//6、创建列族描述器HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(Bytes.toBytes(cf));//7、设置数据最大版本数hColumnDescriptor.setMaxVersions(Versions);//8、添加列族信息hTableDescriptor.addFamily(hColumnDescriptor);}//9、创建表admin.createTable(hTableDescriptor);//10、关闭资源admin.close();}
}

constants用来存放一些不能修改的参数

package tyh.constants;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;public class constants {//final关键字用来指定这个变量不能被修改//1、configuration,HBase的配置信息public static final Configuration CONFIGURATION = HBaseConfiguration.create();//2、命名空间public static final String NAMESPACE = "WeiBo";//3、微博内容表public static final String CONTENT_TABLE = "WeiBo:content";//微博内容表的列族,用来存放用户发布的微博public static final String CONTENT_TABLE_CF = "info";//设置最大版本数public static final int CONTENT_TABLE_VERSIONS = 1;//4、用户关系表public static final String RELATION_TABLE = "WeiBo:relation";//用户关系表的列族//用来存放你关注的人的用户idpublic static final String RELATION_TABLE_ATTEND = "attends";//用来存放关注你的用的的idpublic static final String RELATION_TABLE_FANS = "fans";//设置最大版本数:public static final int RELATION_TABLE_VERSIONS = 1;//收件箱表public static final String INBOX_TABLE = "WeiBo:inbox";//收件箱表列族:用来存放你关注的人近期发布的一些微博public static final String INBOX_TABLE_CONCERN = "concern";//设置最大版本数,即你可以接收到的你关注的人最近发布的微博的数量,每人2条public static final int INBOX_TABLE_VERSIONS = 2;
}

要说的都在代码里了

谷粒微博学习笔记一:Utilsconstants相关推荐

  1. 尚硅谷谷粒学院学习笔记(防坑点的总结部分勘误)

    谷粒学院学习笔记 部分勘误 数据库设计规约 模块说明 环境搭建 创建一个Spring Boot 的父工程,版本使用:2.2.1.RELEASE 父工程pom.xml里面添加 在pom.xml中添加依赖 ...

  2. 2022谷粒商城学习笔记(二十二)rabbitMQ学习

    前言 本系列博客基于B站谷粒商城,只作为本人学习总结使用.这里我会比较注重业务逻辑的编写和相关配置的流程.有问题可以评论或者联系我互相交流.原视频地址谷粒商城雷丰阳版.本人git仓库地址Draknes ...

  3. 2022谷粒商城学习笔记(二十三)分布式事务

    前言 本系列博客基于B站谷粒商城,只作为本人学习总结使用.这里我会比较注重业务逻辑的编写和相关配置的流程.有问题可以评论或者联系我互相交流.原视频地址谷粒商城雷丰阳版.本人git仓库地址Draknes ...

  4. 谷粒商城学习笔记——第一期:项目简介

    一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...

  5. 尚硅谷谷粒学院学习笔记9--前台用户登录,注册,整合jwt,微信登录

    用户登录业务 单点登录(Single Sign On),简称SSO. 用户只需要登陆一次就可以访问所有相互信任的应用系统 单点登录三种常见方式 session广播机制实现 使用redis+cookie ...

  6. 谷粒商城学习笔记(2)-- 环境搭建项目结构创建

    一.环境 虚拟机ip192.168.174.128 本地ip192.168.31.14 本地和虚拟机要互相ping通 二.Docker 虚拟化容器技术.Docker基于镜像,可以秒级启动各种容器.每一 ...

  7. 尚硅谷谷粒学院学习笔记11-- 微信支付,课程详情页面功能完善

    课程支付需求描述 课程支付说明 (1)课程分为免费课程和付费课程,如果是免费课程可以直接观看,如果是付费观看的课程,用户需下单支付后才可以观看 (2)如果是免费课程,在用户选择课程,进入到课程详情页面 ...

  8. 在线教育-谷粒学院学习笔记(八)

    文章目录 1 内容介绍 2 微服务 3 微服务实现删除nacos 4 删除课程-删除视频 5 Hystrix 1 内容介绍 Spring Colud 删除小节-删除视频 删除课程-删除视频 2 微服务 ...

  9. 分布式电商项目 谷粒商城 学习笔记<2>

    文章目录 六.三级分类 1.按照父子类的结构获取所有分类 2.跨域问题的解决 1.使用nginx部署为同一域 2.让服务器告诉预检请求能跨域 3.过滤器优先级问题 4.删除 5.增加修改拖拽 七.品牌 ...

  10. 【HBase学习笔记-尚硅谷-Java API shell命令 谷粒微博案例】

    HBase学习笔记 HBase 一.HBase简介 1.HBase介绍 2.HBase的逻辑结构和物理结构 3.数据模型 4.基本架构 二.快速入门 1.配置HBase 2.命令 三.API 1.获取 ...

最新文章

  1. PHP函数之无极分类
  2. golang常见内存泄漏
  3. a partial surjection的题库
  4. ASP生成HTML讲座笔记
  5. Codefest 18 (rated, Div. 1 + Div. 2)-D-Valid BFS--思维--已知bfs序,求是否正确
  6. mysql索引下沉_MySQL 5.6 索引条件下推优化
  7. Unreal Engine 4切换默认Camera实现
  8. 一样是图标设计,UI 小白应该和老司机学的上手技能,临摹!
  9. 学习Spring Boot前需要了解的Spring基础知识
  10. java向量6_Java学习笔记6-数据结构
  11. php登录注册案例,php实现登陆与注册的案例
  12. 数字电视智能卡的定义
  13. verifycode验证码模版
  14. [导入]MPQ 文件系统完成
  15. 再次收到魅族公司赠送的一箱子礼物,感谢
  16. ansys matlab 温度场,ANSYS温度场分析步骤.pdf
  17. react项目中实现打印预览功能
  18. 《大腕》对白之各类搞笑版
  19. seajs配置问题详解以及seajs一些插件的使用
  20. 以色列通过空袭回应哈马斯的黑客攻击

热门文章

  1. 1.19.10.Flink SQL工程案例\Flink批式处理\自定义函数\Window窗口计算\将DataSet数据转成Table数据\将Table数据转成DataSet等
  2. 易语言解决adb端口占用_Android ADB 端口占用问题解决方案
  3. tableau 颜色设置汇总
  4. mysql单机qps能到多少_单机Qps上限是多少?
  5. java 调用 CXF 报错 java.lang.NoSuchMethodError: javax.wsdl.xml.WSDLReader.readWSDL
  6. 第十一章 枚举与泛型 总结
  7. Exchange邮箱服务器后利用
  8. Tourists——圆方树
  9. JS中各种width和height的区别
  10. 投毒后门防御阅读笔记,What Doesn‘t Kill You Makes You Robust (er) Adversarial Training against Poisons and Back