`

java实现hbase表创建、数据插入、删除表

 
阅读更多
近日查看了相关资料后,梳理了一下用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、代码:

 

[java:nogutter] view plaincopyprint?
  1. package org.myhbase;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import org.apache.hadoop.conf.Configuration;  
  6. import org.apache.hadoop.hbase.HBaseConfiguration;  
  7. import org.apache.hadoop.hbase.HColumnDescriptor;  
  8. import org.apache.hadoop.hbase.HTableDescriptor;  
  9. import org.apache.hadoop.hbase.KeyValue;  
  10. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  11. import org.apache.hadoop.hbase.client.HTable;  
  12. import org.apache.hadoop.hbase.client.Result;  
  13. import org.apache.hadoop.hbase.client.ResultScanner;  
  14. import org.apache.hadoop.hbase.client.Scan;  
  15. import org.apache.hadoop.hbase.io.BatchUpdate;  
  16.   
  17. public class HBaseBasic02 {  
  18.     static HBaseConfiguration hbaseConfig=null;  
  19.     static{  
  20.         Configuration config=new Configuration();  
  21.         config.set("hbase.zookeeper.quorum","192.168.10.149,192.168.10.44,192.168.10.49");  
  22.         config.set("hbase.zookeeper.property.clientPort""2181");  
  23.         hbaseConfig=new HBaseConfiguration(config);  
  24.     }  
  25.       
  26.     /** 
  27.      * 创建一张表 
  28.      * @throws IOException  
  29.      */  
  30.     public static void createTable(String tablename) throws IOException{  
  31.         HBaseAdmin admin = new HBaseAdmin(hbaseConfig);  
  32.         if(admin.tableExists(tablename)){  
  33.             System.out.println("table Exists!!!");  
  34.         }else{  
  35.             HTableDescriptor tableDesc = new HTableDescriptor(tablename);  
  36.             tableDesc.addFamily(new HColumnDescriptor("name:"));  
  37.             admin.createTable(tableDesc);  
  38.             System.out.println("create table ok.");  
  39.         }  
  40.     }  
  41.       
  42.     /** 
  43.      * 删除一张表 
  44.      * @throws IOException  
  45.      */  
  46.     public static void dropTable(String tablename) throws IOException{  
  47.         HBaseAdmin admin = new HBaseAdmin(hbaseConfig);  
  48.         admin.disableTable(tablename);  
  49.         admin.deleteTable(tablename);  
  50.         System.out.println("drop table ok.");  
  51.     }  
  52.       
  53.       
  54.     /** 
  55.      * 添加一条数据 
  56.      * @throws IOException  
  57.      */  
  58.     public static void addData(String tablename) throws IOException{  
  59.         HTable table=new HTable(hbaseConfig,tablename);  
  60.         BatchUpdate update=new BatchUpdate("Huangyi");  
  61.         update.put("name:java","http://www.sun.com".getBytes());  
  62.         table.commit(update);  
  63.         System.out.println("add data ok.");  
  64.     }  
  65.       
  66.       
  67.     /** 
  68.      * 显示所有数据 
  69.      * @throws IOException  
  70.      */  
  71.     public static void getAllData(String tablename) throws IOException{  
  72.         HTable table=new HTable(hbaseConfig,tablename);  
  73.         Scan s=new Scan();  
  74.         ResultScanner rs=table.getScanner(s);  
  75.         for(Result r:rs){  
  76.             for(KeyValue kv:r.raw()){  
  77.                 System.out.println("rowkey : "+new String(kv.getRow()));  
  78.                 System.out.println(new String(kv.getColumn())+" = "+new String(kv.getValue()));  
  79.             }  
  80.         }  
  81.     }  
  82.       
  83.     public static void main(String [] args) throws IOException{  
  84.             String tablename="table_1";  
  85.             HBaseBasic02.createTable(tablename);  
  86.             HBaseBasic02.addData(tablename);  
  87.             HBaseBasic02.getAllData(tablename);  
  88.             HBaseBasic02.dropTable(tablename);  
  89.     }  
  90.       
  91.       
  92. }
分享到:
评论

相关推荐

    Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据).pdf

    插入数据到HBase表中,我们通常使用`Put`对象。例如,插入一条数据到`testAPI`表的`cf1`列簇中: ```java Put put = new Put(Bytes.toBytes("rowKey")); put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes(...

    java操作Hbase之实现表的创建删除源码

    本教程将详细介绍如何使用Java API来创建和删除HBase表,并针对不使用Maven的初学者提供必要的jar包支持。 首先,你需要在项目中引入HBase的客户端库。由于这里没有使用Maven,你需要手动下载并添加以下jar包到项目...

    java-hbase开发包

    1. **HBase客户端API**:这是Java-HBase开发包的核心,提供了一组Java接口和类,用于连接到HBase集群,创建表,插入、查询和更新数据。例如,`HTableInterface` 和 `HBaseAdmin` 接口,以及 `Put`、`Get` 和 `Scan` ...

    java代码将mysql表数据导入HBase表

    **二、HBase表创建** HBase的表结构与MySQL不同,它由行、列族、列限定符和时间戳组成。假设我们创建一个与`users`表对应的HBase表,名为`user_data`,包含两个列族:`info`和`meta`,分别对应MySQL中的`name`和`...

    Java SpringBoot 连接 Hbase Demo

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

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

    要向HBase表中添加数据,我们需要创建一个`Put`对象,指定行键和列族。然后,为特定列添加值,并将其提交到表中。以下是一个简单的示例: ```java import org.apache.hadoop.hbase.client.Connection; import org....

    hbase和hadoop数据块损坏处理

    * hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair:重建元数据表 四、HBase 备份与恢复 HBase 备份与恢复是非常重要的,可以防止数据丢失。HBase 提供了多种备份与恢复方法,包括 Export、Import、...

    hadoop中安装hbase及创建表等.docx

    以上就是Hadoop中安装HBase的基本步骤,以及如何使用HBase Shell创建表和插入数据,以及通过Java API进行数据操作。理解并掌握这些基本操作是进行大数据处理和分析的基础。在实际项目中,根据需求,还需要考虑集群...

    java访问Hbase数据库Demo

    以上就是使用Java访问Hbase的基本操作,这个例子中展示了创建表、插入、查询、删除和修改数据的过程。通过这个Demo,你可以了解Hbase与Java交互的基本步骤,并以此为基础进行更复杂的操作,如批量操作、扫描等。请...

    hbase存储csv数据的代码实现

    3. **数据分区**:根据业务需求,可能需要设计合理的行键以实现数据的均匀分布和高效查询。 4. **列族和列的压缩**:HBase支持对列族和列进行压缩,以节省存储空间并提高读写性能。 5. **索引和查询优化**:通过设置...

    java访问hbase所需的jar包

    这个包提供了连接到HBase集群、创建表、插入数据、查询数据等基本功能的API。例如,`org.apache.hadoop.hbase.client.Connection`接口用于创建到HBase集群的连接,`org.apache.hadoop.hbase.client.Table`接口则用于...

    HBase JavaAPI开发

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

    hbase的java client实例

    使用`TableInputFormat`和`TableOutputFormat`,我们可以将HBase表作为输入和输出源。在Mapper和Reducer中,可以直接访问HBase的行键、列族和值。 最后,我们讨论**协处理器**。HBase的协处理器机制允许在...

    hbase java api 访问 查询、分页

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

    Hbase实验报告.pdf

    实验旨在让参与者熟练掌握HBase的Shell操作,包括创建表、输入数据以及进行特定查询。以下是详细步骤及知识点解析: ### 1. HBase Shell基础 HBase Shell是HBase提供的命令行界面,用户可以通过它来与HBase集群...

    基于Spark SQL可通过输入SQL语句操作HBase表,目前提供对HBase表的查询、创建、删除以及数据插入+源代码+说明

    - 不懂运行,下载完可以私聊问...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    java代码使用thrift2操作hbase示例

    3. **获取表**:使用`Admin`接口来管理HBase表,如创建、删除和获取表。`Table`对象是操作数据的主要接口,通过`connection.getTable(TableName)`获取。 4. **添加数据**:HBase的数据以行键(Row Key)的形式存储...

    scala API 操作hbase表

    创建一个`Put`对象来插入一行数据,并设置行键和列族: ```scala val put = new Put(Bytes.toBytes("row_key")) put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value")) ...

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

    通过Java API,我们可以方便地与HBase交互,实现数据的增、删、改、查等操作。 首先,确保你的开发环境已经配置了HBase的Java客户端库。这通常可以通过在`pom.xml`(如果你使用的是Maven)或`build.gradle`(如果你...

Global site tag (gtag.js) - Google Analytics