package com.finder.hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Get; 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.util.Bytes; // Class that has nothing but a main. // Does a Put, Get and a Scan against an hbase table. public class MyLittleHBaseClient { public static void main(String[] args) throws IOException { // You need a configuration object to tell the client where to connect. // When you create a HBaseConfiguration, it reads in whatever you've set // into your hbase-site.xml and in hbase-default.xml, as long as these can // be found on the CLASSPATH Configuration config = HBaseConfiguration.create(); // This instantiates an HTable object that connects you to // the "myLittleHBaseTable" table. HTable table = new HTable(config, "myLittleHBaseTable"); // To add to a row, use Put. A Put constructor takes the name of the row // you want to insert into as a byte array. In HBase, the Bytes class has // utility for converting all kinds of java types to byte arrays. In the // below, we are converting the String "myLittleRow" into a byte array to // use as a row key for our update. Once you have a Put instance, you can // adorn it by setting the names of columns you want to update on the row, // the timestamp to use in your update, etc.If no timestamp, the server // applies current time to the edits. Put p = new Put(Bytes.toBytes("myLittleRow")); // To set the value you'd like to update in the row 'myLittleRow', specify // the column family, column qualifier, and value of the table cell you'd // like to update. The column family must already exist in your table // schema. The qualifier can be anything. All must be specified as byte // arrays as hbase is all about byte arrays. Lets pretend the table // 'myLittleHBaseTable' was created with a family 'myLittleFamily'. p.add(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier"), Bytes.toBytes("Some Value")); // Once you've adorned your Put instance with all the updates you want to // make, to commit it do the following (The HTable#put method takes the // Put instance you've been building and pushes the changes you made into // hbase) table.put(p); // Now, to retrieve the data we just wrote. The values that come back are // Result instances. Generally, a Result is an object that will package up // the hbase return into the form you find most palatable. Get g = new Get(Bytes.toBytes("myLittleRow")); Result r = table.get(g); byte [] value = r.getValue(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier")); // If we convert the value bytes, we should get back 'Some Value', the // value we inserted at this location. String valueStr = Bytes.toString(value); System.out.println("GET: " + valueStr); // Sometimes, you won't know the row you're looking for. In this case, you // use a Scanner. This will give you cursor-like interface to the contents // of the table. To set up a Scanner, do like you did above making a Put // and a Get, create a Scan. Adorn it with column names, etc. Scan s = new Scan(); s.addColumn(Bytes.toBytes("myLittleFamily"), Bytes.toBytes("someQualifier")); ResultScanner scanner = table.getScanner(s); try { // Scanners return Result instances. // Now, for the actual iteration. One way is to use a while loop like so: for (Result rr = scanner.next(); rr != null; rr = scanner.next()) { // print out the row we found and the columns we were looking for System.out.println("Found row: " + rr); } // The other approach is to use a foreach loop. Scanners are iterable! // for (Result rr : scanner) { // System.out.println("Found row: " + rr); // } } finally { // Make sure you close your scanners when you are done! // Thats why we have it inside a try/finally clause scanner.close(); } } }
相关推荐
在本实验中,我们将使用 HBase Shell API 来实现基本的数据操作,包括创建表、查看所有表、插入数据等。 HBase 配置和连接 在使用 HBase Shell API 之前,需要首先配置 HBase 的连接信息。在本实验中,我们使用的...
HBase 的 Java API 是通过 HBaseConfiguration 对象来操作的。HBaseConfiguration 代表的是 HBase 配置信息,可以通过两个构造方式来创建:public HBaseConfiguration() 和 public HBaseConfiguration(final ...
"hbase java api 所需最精简 jar"这个标题意味着我们将探讨的是为了在Java环境中最小化依赖,但仍能实现基本HBase操作所需的JAR文件。 首先,我们需要理解HBase Java API的核心组件。HBase的Java客户端API提供了一...
了解并熟练使用HBase 0.94.5的API是开发HBase应用的基础,通过这些API,开发者可以构建出高效、可扩展的大数据解决方案。同时,随着HBase的不断升级,新的API和功能也在不断增加,适应不断变化的技术需求。
以下是一些关键的Scala API操作HBase的基本步骤: 1. 引入必要的库: 首先,在你的Scala源代码文件中引入所需的库。例如: ```scala import org.apache.hadoop.conf.Configuration import org.apache.hadoop....
以上就是HBase Java API进行增加、修改和删除操作的基本用法。实际应用中,可能需要处理更复杂的场景,如批量操作、扫描、过滤等,这都需要对HBase的API有深入的理解。记住,始终确保正确管理和关闭资源,以避免内存...
Apache HBase是一个分布式的、版本化的、基于列的NoSQL数据库,它构建在Hadoop文件系统(HDFS)之上,提供了高吞吐量的数据访问。...以上只是HBase中文API的基础知识,深入学习还需要结合实际操作和不断实践。
学习HBase API,不仅需要理解其基本概念,还需要熟悉Java编程,因为HBase的官方API是用Java实现的。同时,了解Hadoop生态系统和分布式计算原理也有助于更好地运用HBase。通过实践和实验,可以逐步掌握如何利用HBase ...
在HBase这个分布式列式数据库中,Java API是开发者常用的一种接口来操作HBase,包括创建表、插入数据、查询数据以及实现分页等操作。本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要...
在本文中,我们将详细讲解Hbase的安装过程以及基本操作,特别针对在Linux环境下使用清华大学镜像进行下载的情况。Hbase是一个分布式的、面向列的数据库,常用于大数据存储,是Apache Hadoop生态系统的一部分。以下是...
这就是使用Java API连接虚拟机上HBase的基本步骤。实际应用中可能需要处理更多的细节,比如错误处理、连接池管理以及更复杂的查询操作。了解这些基础后,你可以根据具体需求对代码进行扩展,以满足各种数据处理场景...
### HBase客户端API指南知识点详解 #### 一、HBase数据读写流程 ...以上内容涵盖了HBase客户端API的基础知识及使用技巧,通过掌握这些知识,开发者可以更加高效地使用HBase进行数据的存储和管理。
**四、HBase基本操作** 1. **创建表**:使用HBase shell或Java API,通过`create '表名', '列族'`命令创建表,例如`create 'users', 'info'`创建名为users的表,列族为info。 2. **插入数据**:插入数据通过`put '...
在Java中操作HBase,尤其是基于0.96版本的...以上就是使用Java API操作HBase的基本步骤。理解这些概念和方法对于有效管理和处理HBase中的数据至关重要。实际应用中,还需要考虑性能优化、并发控制以及错误处理等细节。
在本文档中,我们将深入探讨如何使用Java API与HBase数据库进行交互,特别是关于如何创建表、修改表结构以及批量插入数据。...理解这些基本操作对于高效地使用HBase至关重要,特别是在大数据处理和分析的场景下。
实验的目标是让你理解HBase在Hadoop架构中的地位,以及掌握通过Shell命令和Java API进行基本操作的方法。 首先,让我们来看看实验的平台配置。实验要求的操作系统是Linux,这通常是大数据处理的首选平台,因为它...
在Java环境中,HBase提供了丰富的Java API供开发者进行数据操作,包括创建表、删除表、更新表以及查询表等基本功能。下面我们将深入探讨HBase的Java API及其在实际应用中的使用。 1. **HBase连接** 在Java中使用...
HBase官方中文文档概述了Apache HBase TM的基本概念、配置方法、升级策略、shell使用、数据模型、架构设计、安全机制、API接口、性能调优以及故障排除等多方面的知识。HBase是一个开源的非关系型分布式数据库(NoSQL...
【标签】"hadoop hbase chm java"进一步强调了文档的主要内容,涵盖了Hadoop、HBase这两个大数据领域的关键技术和CHM格式的Java参考文档,意味着这份资料不仅包含Hadoop和HBase的API详解,还有关于Java编程的基础和...
HBase是一种分布式、高性能、...以上就是HBase常用Java API的基本操作。在实际应用中,还需要考虑并发控制、性能优化、错误处理等高级话题。通过熟练掌握这些API,你可以灵活地在Java应用程序中实现对HBase的数据操作。