近日查看了相关资料后,梳理了一下用java实现hbase的表创建、数据插入、删除表,代码如下:
1、需要的jar包:
commons-codec-1.4.jar
commons-logging-1.0.4.jar
hadoop-0.20.2-core.jar
hbase-0.20.6.jar
log4j-1.2.15.jar
zookeeper-3.2.2.jar
2、代码:
- package org.myhbase;
-
-
import java.io.IOException;
-
-
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.KeyValue;
-
import org.apache.hadoop.hbase.client.HBaseAdmin;
-
import org.apache.hadoop.hbase.client.HTable;
-
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.io.BatchUpdate;
-
-
public class HBaseBasic02 {
-
static HBaseConfiguration hbaseConfig=null;
-
static{
-
Configuration config=new Configuration();
-
config.set("hbase.zookeeper.quorum","192.168.10.149,192.168.10.44,192.168.10.49");
-
config.set("hbase.zookeeper.property.clientPort", "2181");
-
hbaseConfig=new HBaseConfiguration(config);
- }
-
-
-
-
-
-
public static void createTable(String tablename) throws IOException{
-
HBaseAdmin admin = new HBaseAdmin(hbaseConfig);
-
if(admin.tableExists(tablename)){
-
System.out.println("table Exists!!!");
-
}else{
-
HTableDescriptor tableDesc = new HTableDescriptor(tablename);
-
tableDesc.addFamily(new HColumnDescriptor("name:"));
- admin.createTable(tableDesc);
-
System.out.println("create table ok.");
- }
- }
-
-
-
-
-
-
public static void dropTable(String tablename) throws IOException{
-
HBaseAdmin admin = new HBaseAdmin(hbaseConfig);
- admin.disableTable(tablename);
- admin.deleteTable(tablename);
-
System.out.println("drop table ok.");
- }
-
-
-
-
-
-
-
public static void addData(String tablename) throws IOException{
-
HTable table=new HTable(hbaseConfig,tablename);
-
BatchUpdate update=new BatchUpdate("Huangyi");
-
update.put("name:java","http://www.sun.com".getBytes());
- table.commit(update);
-
System.out.println("add data ok.");
- }
-
-
-
-
-
-
-
public static void getAllData(String tablename) throws IOException{
-
HTable table=new HTable(hbaseConfig,tablename);
-
Scan s=new Scan();
- ResultScanner rs=table.getScanner(s);
-
for(Result r:rs){
-
for(KeyValue kv:r.raw()){
-
System.out.println("rowkey : "+new String(kv.getRow()));
-
System.out.println(new String(kv.getColumn())+" = "+new String(kv.getValue()));
- }
- }
- }
-
-
public static void main(String [] args) throws IOException{
-
String tablename="table_1";
- HBaseBasic02.createTable(tablename);
- HBaseBasic02.addData(tablename);
- HBaseBasic02.getAllData(tablename);
- HBaseBasic02.dropTable(tablename);
- }
-
-
- }
分享到:
相关推荐
插入数据到HBase表中,我们通常使用`Put`对象。例如,插入一条数据到`testAPI`表的`cf1`列簇中: ```java Put put = new Put(Bytes.toBytes("rowKey")); put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes(...
本教程将详细介绍如何使用Java API来创建和删除HBase表,并针对不使用Maven的初学者提供必要的jar包支持。 首先,你需要在项目中引入HBase的客户端库。由于这里没有使用Maven,你需要手动下载并添加以下jar包到项目...
1. **HBase客户端API**:这是Java-HBase开发包的核心,提供了一组Java接口和类,用于连接到HBase集群,创建表,插入、查询和更新数据。例如,`HTableInterface` 和 `HBaseAdmin` 接口,以及 `Put`、`Get` 和 `Scan` ...
**二、HBase表创建** HBase的表结构与MySQL不同,它由行、列族、列限定符和时间戳组成。假设我们创建一个与`users`表对应的HBase表,名为`user_data`,包含两个列族:`info`和`meta`,分别对应MySQL中的`name`和`...
Java SpringBoot 连接 Hbase Demo 创建表 插入数据 列族 列 查询:全表、数据过滤 删除数据 删除表 Hbase 集群搭建:https://blog.csdn.net/weixin_42176639/article/details/131796472
要向HBase表中添加数据,我们需要创建一个`Put`对象,指定行键和列族。然后,为特定列添加值,并将其提交到表中。以下是一个简单的示例: ```java import org.apache.hadoop.hbase.client.Connection; import org....
* hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair:重建元数据表 四、HBase 备份与恢复 HBase 备份与恢复是非常重要的,可以防止数据丢失。HBase 提供了多种备份与恢复方法,包括 Export、Import、...
以上就是Hadoop中安装HBase的基本步骤,以及如何使用HBase Shell创建表和插入数据,以及通过Java API进行数据操作。理解并掌握这些基本操作是进行大数据处理和分析的基础。在实际项目中,根据需求,还需要考虑集群...
以上就是使用Java访问Hbase的基本操作,这个例子中展示了创建表、插入、查询、删除和修改数据的过程。通过这个Demo,你可以了解Hbase与Java交互的基本步骤,并以此为基础进行更复杂的操作,如批量操作、扫描等。请...
3. **数据分区**:根据业务需求,可能需要设计合理的行键以实现数据的均匀分布和高效查询。 4. **列族和列的压缩**:HBase支持对列族和列进行压缩,以节省存储空间并提高读写性能。 5. **索引和查询优化**:通过设置...
这个包提供了连接到HBase集群、创建表、插入数据、查询数据等基本功能的API。例如,`org.apache.hadoop.hbase.client.Connection`接口用于创建到HBase集群的连接,`org.apache.hadoop.hbase.client.Table`接口则用于...
使用JavaAPI实现HBase的ddl(创建表、删除表、修改表(添加列族等))、dml(添加数据、删除数据)、dql(查询数据(get、scan))等操作 除此之外还包含一些其他操作:命名空间的应用、快照的应用等 对应(《HBase...
使用`TableInputFormat`和`TableOutputFormat`,我们可以将HBase表作为输入和输出源。在Mapper和Reducer中,可以直接访问HBase的行键、列族和值。 最后,我们讨论**协处理器**。HBase的协处理器机制允许在...
在HBase这个分布式列式数据库中,Java API是开发者常用的一种接口来操作HBase,包括创建表、插入数据、查询数据以及实现分页等操作。本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要...
实验旨在让参与者熟练掌握HBase的Shell操作,包括创建表、输入数据以及进行特定查询。以下是详细步骤及知识点解析: ### 1. HBase Shell基础 HBase Shell是HBase提供的命令行界面,用户可以通过它来与HBase集群...
- 不懂运行,下载完可以私聊问...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
3. **获取表**:使用`Admin`接口来管理HBase表,如创建、删除和获取表。`Table`对象是操作数据的主要接口,通过`connection.getTable(TableName)`获取。 4. **添加数据**:HBase的数据以行键(Row Key)的形式存储...
创建一个`Put`对象来插入一行数据,并设置行键和列族: ```scala val put = new Put(Bytes.toBytes("row_key")) put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value")) ...
通过Java API,我们可以方便地与HBase交互,实现数据的增、删、改、查等操作。 首先,确保你的开发环境已经配置了HBase的Java客户端库。这通常可以通过在`pom.xml`(如果你使用的是Maven)或`build.gradle`(如果你...