`

HBASE的java api简介

阅读更多
一:创建表
//获取配置
Configuration conf = new Configuration();
//填写配置信息
conf.set("hbase.zookeeper.quorum", "it04:2181,it05:2181,it06:2181");
//获得操作hbase的admin对象
HBaseAdmin admin = new HBaseAdmin(conf);
//获取HTableDescriptor对象,用于表的描述,如表名,列族等等
HTableDescriptor desc = new HTableDescriptor(TableName.valueOf("person"));
//通过HColumnDescriptor获取对列族、列标示符进行标注的对象
HColumnDescriptor hcd_info = new HColumnDescriptor("info");
HColumnDescriptor hcd_data = new HColumnDescriptor("data");
//对列族进行设置
hcd_info.setMaxVersions(3);
//把整理好的HColumnDescriptor对象信息添加的HTableDescriptor对象上
desc.addFamily(hcd_info);
desc.addFamily(hcd_data);
//使用admin对象创建表create 参数desc为HTableDescriptor对象
admin.createTable(desc);
//最后千万不要忘了关闭,想想jdbc
admin.close();

二:HBASE操作表之put增加数据:
//获取配置
Configuration conf = new Configuration();
//填写配置信息
conf.set("hbase.zookeeper.quorum", "it04:2181,it05:2181,it06:2181");
//获得要操作的表,参数是配置信息,和要获取的表的表名
HTable table = new HTable(conf, "person");
//添加数据的就需要获取Put对象,通过Put对象添加数据,参数为字节数组
Put put = new Put(Bytes.toBytes("zhaoliu"));
//第Put对象添加数据,第一个参数:列族 。第二个参数:列名。第三个参数:值  ,此外还有一个参数ts:timestamp时间戳
put.add(Bytes.toBytes("info"), Bytes.toBytes("name"), Bytes.toBytes("zhaoliu"));
put.add(Bytes.toBytes("info"), Bytes.toBytes("age"), Bytes.toBytes(40));
put.add(Bytes.toBytes("info"), Bytes.toBytes("money"), Bytes.toBytes(10));
//表对象开始put操作
table.put(put);
//不要忘了关闭
table.close();

三、HBASE操作表之一次插入100万条
public void testPutAll() throws IOException{
// HTablePool poll = new HTablePool(conf, 10);
HTable table = new HTable(conf, "person");
List<Put> puts = new ArrayList<Put>();
for(int i=0;i<1000000;i++){
Put put = new Put(Bytes.toBytes("kr"+i));
put.add(Bytes.toBytes("info"), Bytes.toBytes("money"), Bytes.toBytes(""+i));
puts.add(put);
if(i%10000==0){
table.put(puts);
puts = new ArrayList<Put>();
}
}
table.put(puts);
table.close();
}
四、HBASE 操作之get取数据:
public void testGet() throws IOException{
HTable table = new HTable(conf,"person");
Get get = new Get(Bytes.toBytes("zhangsan"));
Result result = table.get(get);
String res = Bytes.toString(result.getValue(Bytes.toBytes("info"), Bytes.toBytes("age")));
System.out.println(res);
table.close();
}
五、HBASE操作之scan扫描表:  <注>:注意返回结果
/**
* scan表
* 返回结果:
* 299990、299991、299992、299993、299994、299995、299996、299997、299998、299999
* 3、30、300、3000、30000
* @throws IOException
*/
@Test
public void testScan() throws IOException{
HTable table = new HTable(conf,"p erson");
Scan scan = new Scan(Bytes.toBytes("kr299990"),Bytes.toBytes("kr300000"));
ResultScanner scanner = table.getScanner(scan);
for(Result result:scanner){
String res = Bytes.toString(result.getValue(Bytes.toBytes("info"), Bytes.toBytes("age")));
System.out.println(res);
}
table.close();
}
六、HBASE操作之delete删除数据:
public void testDelete() throws IOException{
HTable table = new HTable(conf,"person");
Delete delete = new Delete(Bytes.toBytes("lisi"));
// delete.deleteColumn(Bytes.toBytes("info"), Bytes.toBytes("age"));
delete.deleteColumn(Bytes.toBytes("info"), Bytes.toBytes("money"));
table.delete(delete);
}
分享到:
评论

相关推荐

    HBase Java API类介绍

    ### HBase Java API类介绍 #### 一、概述 HBase是一个分布式的、面向列的开源数据库,基于Google的Bigtable论文实现。它适合于非结构化数据存储,并且能够实时处理PB级别的数据。HBase提供了Java API供开发者使用...

    hbase java api 访问 增加修改删除(一)

    在本文中,我们将深入探讨如何使用HBase的Java API进行数据的增加、修改和删除操作。HBase是一个基于Google Bigtable设计的开源分布式数据库,它属于Apache Hadoop生态系统的一部分,适用于处理大规模数据存储。通过...

    Hbase Java API

    HBase Java API HBase 是 Hadoop 的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。HBase 的整体结构主要包括 HBase Master、HRegion 服务器和 HRegion Server...

    hbase java api 访问 查询、分页

    在HBase这个分布式列式数据库中,Java API是开发者常用的一种接口来操作HBase,包括创建表、插入数据、查询数据以及实现分页等操作。本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要...

    hbase java api 所需最精简 jar

    "hbase java api 所需最精简 jar"这个标题意味着我们将探讨的是为了在Java环境中最小化依赖,但仍能实现基本HBase操作所需的JAR文件。 首先,我们需要理解HBase Java API的核心组件。HBase的Java客户端API提供了一...

    Hadoop+HBase+Java API

    标题 "Hadoop+HBase+Java API" 涉及到三个主要的开源技术:Hadoop、HBase以及Java API,这些都是大数据处理和存储领域的关键组件。以下是对这些技术及其结合使用的详细介绍: **Hadoop** 是一个分布式计算框架,由...

    Hbase调用JavaAPI实现批量导入操作

    这篇博客“Hbase调用Java API实现批量导入操作”聚焦于如何利用Java编程语言高效地向HBase中批量导入数据。在这个过程中,我们将探讨以下几个关键知识点: 1. **HBase架构**: HBase是基于列族的存储模型,数据被...

    HBase JavaAPI开发

    使用JavaAPI实现HBase的ddl(创建表、删除表、修改表(添加列族等))、dml(添加数据、删除数据)、dql(查询数据(get、scan))等操作 除此之外还包含一些其他操作:命名空间的应用、快照的应用等 对应(《HBase...

    HBase Java API操作数据库示例代码-HBaseDemo.rar

    HBase Java API操作数据库示例代码-HBaseDemo.rar HBase Java API操作数据库示例代码-HBaseDemo.rar HBase Java API操作数据库示例代码-HBaseDemo.rar

    hbase资料api

    HBase数据查询API HBase是一种分布式的、面向列的NoSQL数据库,主要应用于存储大量的半结构化数据。HBase提供了多种查询方式,包括单条查询和批量查询。 单条查询 单条查询是通过rowkey在table中查询某一行的数据...

    11-HBase Java API编程实践1

    HBase Java API 编程实践 在本实践中,我们将使用 Eclipse 编写 Java 程序,来对 HBase 数据库进行增删改查等操作。首先,我们需要启动 Hadoop 和 HBase,然后新建一个 Java 项目并导入 HBase 的 jar 包。接着,...

    使用Java API连接虚拟机HBase并进行数据库操作,Java源代码

    在本文中,我们将深入探讨如何使用Java API连接到运行在虚拟机上的HBase数据库,并进行相关的数据操作。HBase是一个分布式的、版本化的、基于列族的NoSQL数据库,它构建于Hadoop之上,适用于处理大规模的数据存储和...

    hbase常用JAVA API

    在Java中,我们可以使用HBase的Java API来与HBase交互,进行数据的读写操作。下面将详细介绍HBase Java API的核心概念和常用方法。 1. **连接HBase** 要连接到HBase,你需要创建一个`Configuration`对象,然后通过...

    javaApi_sparkhiveAPI_hbaseAPI.zip

    本压缩包"javaApi_sparkhiveAPI_hbaseAPI.zip"包含了2019年8月至10月期间针对这些技术的Java版API实现,以及与Spark相关的Hive和HBase API。以下是关于这些技术的详细知识: 1. **Java API for Hive**: - **Hive*...

    Hadoop平台技术 5.4.2 HBase Java API应用-教学课件

    Hadoop平台技术 5.4.2 HBase Java API应用-教学课件

    HBase 1.2.0 Javadoc API CHM

    自行制作的HBase 1.2.0 Javadoc API CHM版本。内容抽取自官方站点网页

    Hbase Java API详解.pdf

    在HBase Java API使用方面,HBaseConfiguration对象是每个HBase客户端都需要使用的,它代表了HBase的配置信息。可以通过默认构造函数来创建HBaseConfiguration对象,它会尝试从类路径中的hbase-default.xml和hbase-...

    Hbase的JavaAPI

    在Java环境中,HBase提供了丰富的Java API供开发者进行数据操作,包括创建表、删除表、更新表以及查询表等基本功能。下面我们将深入探讨HBase的Java API及其在实际应用中的使用。 1. **HBase连接** 在Java中使用...

    Hbase调用JavaAPI实现批量导入操作.docx

    Hbase 调用 JavaAPI 实现批量导入操作 在大数据时代,Hbase 作为一个分布式、面向列的 NoSQL 数据库,广泛应用于大规模数据存储和处理中。同时,JavaAPI 作为一个强大且流行的编程语言,广泛应用于各种软件开发中。...

    Java SpringBoot 连接 Hbase Demo

    Java SpringBoot 连接 Hbase Demo 创建表 插入数据 列族 列 查询:全表、数据过滤 删除数据 删除表 Hbase 集群搭建:https://blog.csdn.net/weixin_42176639/article/details/131796472

Global site tag (gtag.js) - Google Analytics