最基本的入门展示

package hbasetest;

import java.io.IOException;

import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.hbase.HBaseConfiguration;

import org.apache.hadoop.hbase.HColumnDescriptor;

import org.apache.hadoop.hbase.HTableDescriptor;

import org.apache.hadoop.hbase.TableName;

import org.apache.hadoop.hbase.client.Admin;

import org.apache.hadoop.hbase.client.Connection;

import org.apache.hadoop.hbase.client.ConnectionFactory;

public class HelloHBase {

public static void main(String[] args) throws IOException, URISyntaxException {

//获取配置文件

Configuration conf= HBaseConfiguration.create();

conf.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));

conf.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));

//创建连接

try(Connection connection=ConnectionFactory.createConnection(conf);

Admin admin=connection.getAdmin()){

//定义表名

TableName tableName=TableName.valueOf("mytable6");

//定义表

HTableDescriptor table=new HTableDescriptor(tableName);

//定义列族

HColumnDescriptor mycf=new HColumnDescriptor("mycf");

//执行创建表操作

table.addFamily(new HColumnDescriptor(mycf));

admin.createTable(table);

admin.close();

connection.close();

}

}

基本的增删改查操作集合

package hbasetest;

import java.io.IOException;

import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.hbase.HBaseConfiguration;

import org.apache.hadoop.hbase.HColumnDescriptor;

import org.apache.hadoop.hbase.HConstants;

import org.apache.hadoop.hbase.HTableDescriptor;

import org.apache.hadoop.hbase.TableName;

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.io.compress.Compression.Algorithm;

//import org.apache.hadoop.hbase.client.Delete;

//import org.apache.hadoop.hbase.client.Get;

//import org.apache.hadoop.hbase.client.HBaseAdmin;

//import org.apache.hadoop.hbase.client.HTable;

//import org.apache.hadoop.hbase.client.Put;

//import org.apache.hadoop.hbase.client.Result;

//import org.apache.hadoop.hbase.client.ResultScanner;

//import org.apache.hadoop.hbase.client.Scan;

//import org.apache.hadoop.hbase.filter.Filter;

//import org.apache.hadoop.hbase.util.Bytes;

public class HelloHBase {

/**

* 检查mytable表是否存在,若存在则需要先删除

* @param admin

* @param table

* @throws IOException

*/

public static void createOrOvewrite(Admin admin, HTableDescriptor table)throws IOException{

if(admin.tableExists(table.getTableName())) {

admin.disableTable(table.getTableName());

admin.deleteTable(table.getTableName());

}

admin.createTable(table);

}

/**

* 建立mytable表

* @param config

* @throws IOException

*/

public static void createSchemaTables (Configuration config) throws IOException{

try(Connection connection=ConnectionFactory.createConnection(config);

Admin admin=connection.getAdmin()){

HTableDescriptor table=new HTableDescriptor(TableName.valueOf("mytable"));

table.addFamily(new HColumnDescriptor("mycf").setCompressionType(Algorithm.NONE));

System.out.print("Creating table.");

createOrOvewrite(admin,table);

System.out.println("Done.");

}

}

public static void modifySchema(Configuration config) throws IOException{

try(Connection connection=ConnectionFactory.createConnection(config);

Admin admin=connection.getAdmin()){

TableName tableName=TableName.valueOf("mytable");

if (!admin.tableExists(tableName)) {

System.out.println("Table does not exist.");

System.exit(-1);

}

//往mytable 里面添加newcf列族

HColumnDescriptor newColumn=new HColumnDescriptor("newcf");

newColumn.setCompactionCompressionType(Algorithm.GZ);

newColumn.setMaxVersions(HConstants.ALL_VERSIONS);

admin.addColumn(tableName, newColumn);

//获取表的定义

HTableDescriptor table=admin.getTableDescriptor(tableName);

//更新mycf这个列族

HColumnDescriptor mycf=new HColumnDescriptor("mycf");

newColumn.setCompactionCompressionType(Algorithm.GZ);

newColumn.setMaxVersions(HConstants.ALL_VERSIONS);

table.modifyFamily(mycf);

admin.modifyTable(tableName, table);

}

}

/**

* 删除表操作

* @param config

* @throws IOException

*/

public static void deleteSchema (Configuration config) throws IOException{

try(Connection connection=ConnectionFactory.createConnection(config);

Admin admin=connection.getAdmin()){

TableName tableName=TableName.valueOf("mytable");

//停用(disable)mytable

admin.disableTable(tableName);

//删除掉mycf列族

admin.deleteColumn(tableName, "mycf".getBytes("UTF-8"));

//删除mytable表(先停用再删除)

admin.deleteTable(tableName);

}

}

public static void main(String[] args) throws IOException, URISyntaxException {

Configuration config= HBaseConfiguration.create();

//添加必要的配置文件

config.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));

config.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));

config.set("hbase.zookeeper.quorum","47.106.221.38");

config.set("zookeeper.znode.parent", "/hbase");

config.set("hbase.client.retries.number", "3");

config.set("hbase.rpc.timeout", "2000");

config.set("hbase.client.operation.timeout", "3000");

config.set("hbase.client.scanner.timeout.period", "10000");

//建表

createSchemaTables(config);

//改表

modifySchema(config);

//删表

deleteSchema(config);

}

}

java 操作 hbase_Java操作Hbase的基本操作相关推荐

  1. java调用hbase_Java调用Hbase

    1.java调用hbase时(hbase0.96)报以下错误: Exception in thread "main" java.io.IOException: java.lang. ...

  2. Java 使用itextPdf7操作pdf,写入照片这一篇就够了

    Java 使用itextPdf7操作pdf,写入照片这一篇就够了 1. 效果图 1.1 M*N列图片(无边界&有边界) 1.2 图片重叠 1.3 文字背景图片 1.4 图片与文字相邻 & ...

  3. Java使用Jdbc操作MySql数据库(一)

    这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

  4. java 字节数组 操作_Java-固定字节数组对象

    我需要通过TCP / socket连接到第三方系统并检索一些数据. 将要发送的数据格式为固定长度格式和二进制. 请求示例: short MessageID = 5; int TransactionTr ...

  5. Java数组常见操作

    Java数组常见操作 文章目录 Java数组常见操作 7.0 数组的遍历 1.使用foreach循环访问数组中每个元素. 2.使用简单的for循环(多层循环嵌套)来遍历数组. 7.1 数组长度 7.2 ...

  6. java 操作 ldap_JAVA操作LDAP总结

    一.LDAP概念 LDAP的全称为Lightweight Directory Access Protocol(轻量级目录访问协议), 基于X.500标准, 支持 TCP/IP. LDAP目录为数据库, ...

  7. Java剪切板操作大全

    转载自   Java剪切板操作大全 1. 概述 提起剪切板,一般都是在桌面系统或工具中使用.目前,操作Java剪切板有两种形式,这也对应着两种不同的技术Swing和JavaFX. 而剪切板有可以分为系 ...

  8. Java 使用 POI 操作 Excel

    Apache POI 基本介绍 Apache POI 是 Apache 软件基金会提供的 100% 开源库.支持 Excel 库的所有基本功能. 图片来源:易百教程 基本概念 在 POI 中,Work ...

  9. Java本地文件操作

    概述:Java本地文件操作,涉及到文件/文件夹的创建,文件/文件夹属性的读取与设置,文件/文件夹的重命名,目录结构的遍历,以及文件内容的读取与写入. File属于java.io.File. ---在E ...

最新文章

  1. 逃出你的肖申克(三):遇见20万年前的自己
  2. 数据降维(PCA、KPCA、PPCA)及C++实现
  3. php 登录重定向,PHP登录后重定向
  4. 阿里云云服务器的端口配置问题
  5. ApacheCN 人工智能知识树 v1.0
  6. 给Lisp程序员的Python简介
  7. numpy ndarray可用的常规函数
  8. 【安全】Web渗透测试(全流程)
  9. python简明教程3.0_Python 简明教程 --- 0,前言
  10. 在线计算机系统考试测试题,最新计算机考试题库及答案.docx
  11. 设计模式总览及工厂模式详解
  12. 二十四式长生图——清手抄本(扫描版)
  13. AI智能写作将改变文学创作的未来?
  14. 利用Python在互动吧网站自动抢票实战分析!你学废了吗
  15. 昨天同事lastday,把前端测试包扔线上去了
  16. 一文读懂图像三原色原理
  17. 微信接收QQ邮箱提醒
  18. java中的字符串排序
  19. 视频教程-少儿C++快乐编程-C/C++
  20. 达梦数据库DM8-DM数据迁移工具介绍和简单使用

热门文章

  1. TSINGSEE青犀视频开发安全帽智能检测识别经验分享
  2. unity中使用render texture全黑的可能解决方案
  3. 斑马zpl指令二维码换行
  4. 使用html2canvas和jspdf把网页保存pdf并下载
  5. 大批量其他经纬度转换为百度地图经纬度
  6. 基于树莓派的遥控小车
  7. Suker的进球庆祝动作
  8. 3分钟快速阅读-《Effective Java》(三)
  9. Android下拉筛选DropDownMenu
  10. 如何使用 Linux 内核定时器