package test; import java.util.Map; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; 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; public class HbaseDemo { //HBase是基于Hadoop的开源数据库,他以Google的BigTable为原型实现的 //Region服务器 //HBase在行的方向上将表分成多个Region,每个Region包含一定范围内的数据。随着表中的数据不断的增加 //一个Region会被分成多个新的Region //Region是HBase中分布式存储和负载均衡的最小单位,即一个表所有的Region会被分到多个Region服务器上 //每个Region由一个或多个Store组成,每个Store保存一个列族的所有的数据, //每个Store由一个或多个memStore组成 //主服务器 //HBase每个时刻只有一个HMaster(主服务器程序)在运行HMaster将Region分配给Region服务器 public static void main(String[] args) throws Exception{ Configuration conf = HBaseConfiguration.create(); //初始化HBase的配置文件 conf.set("hbase.zookeeper.quorum", "UbubtuSlave1,UbuntuSlave2,UbuntuSlave3");//指定HBase使用的Zookeeper的地址 HBaseAdmin admin = new HBaseAdmin(conf);//实例化HBaseAdmin(该类用于对表的元数据进行操作并提供了基本的管理操作) HTableDescriptor tableDescriptor = new HTableDescriptor("tab1".getBytes()); tableDescriptor.addFamily(new HColumnDescriptor("fam1")); admin.createTable(tableDescriptor);//创建一张新表,参数为类HTableDescriptor,其中是对表名和相关的列族的描述 HTable table = new HTable(conf,"tab1"); //可对表进行相关操作的类 Put putRow1 = new Put("row1".getBytes());//可以向表中插入数据,初始化时可以传递一个行键,表示向那一行插入数据 putRow1.add("fam1".getBytes(), "coll".getBytes(),"vall".getBytes());//插入数据 table.put(putRow1); System.out.println("add row2"); Put putRow2 = new Put("row2".getBytes()); putRow2.add("fam1".getBytes(), "col2".getBytes(), "val2".getBytes()); putRow2.add("fam1".getBytes(), "col3".getBytes(), "val3".getBytes()); table.put(putRow2); for(Result row:table.getScanner("fam1".getBytes()))//table.getScanner获得某一列族的所有数据,方法返回Result类 { System.out.format("ROW\t%s\n", new String(row.getRow())); for(Map.Entry<byte[],byte[]> entry :row.getFamilyMap("fam1".getBytes()).entrySet()) { //Result.getFamilyMap()可以获得以列名为key值为value的映射表 String column = new String(entry.getKey()); String value = new String(entry.getValue()); System.out.format("COLUMN\tfam1:%s\t%s\n", column,value); } } admin.disableTable("tab1");//删除表tab1 admin.deleteTable("tab1");//删除表tab1 } }
相关推荐
HBase提供了Java API供开发者使用,以便更方便地与HBase进行交互。本文将详细介绍HBase Java API中的几个核心类及其功能。 #### 二、HBase Java API类介绍 ##### 1. HBaseConfiguration **关系**:`org.apache....
"hbase java api 所需最精简 jar"这个标题意味着我们将探讨的是为了在Java环境中最小化依赖,但仍能实现基本HBase操作所需的JAR文件。 首先,我们需要理解HBase Java API的核心组件。HBase的Java客户端API提供了一...
HBase Java API HBase 是 Hadoop 的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。HBase 的整体结构主要包括 HBase Master、HRegion 服务器和 HRegion Server...
在本文中,我们将深入探讨如何使用HBase的Java API进行数据的增加、修改和删除操作。HBase是一个基于Google Bigtable设计的开源分布式数据库,它属于Apache Hadoop生态系统的一部分,适用于处理大规模数据存储。通过...
在本实验中,我们将使用 HBase Shell API 来实现基本的数据操作,包括创建表、查看所有表、插入数据等。 HBase 配置和连接 在使用 HBase Shell API 之前,需要首先配置 HBase 的连接信息。在本实验中,我们使用的...
以下是一些关键的Scala API操作HBase的基本步骤: 1. 引入必要的库: 首先,在你的Scala源代码文件中引入所需的库。例如: ```scala import org.apache.hadoop.conf.Configuration import org.apache.hadoop....
HBase中文API为开发者提供了在中文环境中操作HBase的便利。 1. **入门** - **介绍**: HBase为大数据处理提供了实时读写能力,特别适合于存储海量稀疏数据。 - **快速开始**: 开发者通常需要了解如何创建表、插入...
本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要了解HBase的基本结构,它是由行(Row)、列族(Column Family)、列(Column)和时间戳(Timestamp)组成。在Java API中,我们主要通过...
学习HBase API,不仅需要理解其基本概念,还需要熟悉Java编程,因为HBase的官方API是用Java实现的。同时,了解Hadoop生态系统和分布式计算原理也有助于更好地运用HBase。通过实践和实验,可以逐步掌握如何利用HBase ...
Hbase shell 、Hbase api、Hbase 配置
这就是使用Java API连接虚拟机上HBase的基本步骤。实际应用中可能需要处理更多的细节,比如错误处理、连接池管理以及更复杂的查询操作。了解这些基础后,你可以根据具体需求对代码进行扩展,以满足各种数据处理场景...
**四、HBase基本操作** 1. **创建表**:使用HBase shell或Java API,通过`create '表名', '列族'`命令创建表,例如`create 'users', 'info'`创建名为users的表,列族为info。 2. **插入数据**:插入数据通过`put '...
在本文档中,我们将深入探讨如何使用Java API与HBase数据库进行交互,特别是关于如何创建表、修改表结构以及批量插入数据。...理解这些基本操作对于高效地使用HBase至关重要,特别是在大数据处理和分析的场景下。
在Java环境中,HBase提供了丰富的Java API供开发者进行数据操作,包括创建表、删除表、更新表以及查询表等基本功能。下面我们将深入探讨HBase的Java API及其在实际应用中的使用。 1. **HBase连接** 在Java中使用...
本主题将深入探讨如何使用Java客户端API与HBase进行交互,包括集成Spring、MapReduce实例以及协处理器的使用。 首先,让我们从HBase的基础开始。HBase是构建在Hadoop文件系统(HDFS)之上的开源NoSQL数据库,它为非...
HBase是一种分布式、高性能、...以上就是HBase常用Java API的基本操作。在实际应用中,还需要考虑并发控制、性能优化、错误处理等高级话题。通过熟练掌握这些API,你可以灵活地在Java应用程序中实现对HBase的数据操作。
在Java API中访问HBase是大数据处理中常见的一项任务,HBase作为一个分布式、列式存储的NoSQL数据库,常用于海量数据的实时读写。...通过这些基本操作,你将能够使用Java API高效地访问和管理HBase中的数据。
在本文中,我们将详细讲解Hbase的安装过程以及基本操作,特别针对在Linux环境下使用清华大学镜像进行下载的情况。Hbase是一个分布式的、面向列的数据库,常用于大数据存储,是Apache Hadoop生态系统的一部分。以下是...
使用HBase API的`HTableDescriptor`类来定义表结构,然后调用`Admin`接口的`createTable()`方法来创建表。 2. **管理表** HBase提供了丰富的表管理功能,如修改表结构、删除表、禁用/启用表等。`Admin`接口提供了...
在Java中操作HBase,尤其是基于0.96版本的...以上就是使用Java API操作HBase的基本步骤。理解这些概念和方法对于有效管理和处理HBase中的数据至关重要。实际应用中,还需要考虑性能优化、并发控制以及错误处理等细节。