(转) 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、代码。

 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 }

点击查看

时间: 2024-12-07 19:16:24

(转) java实现hbase表创建、数据插入、删除表的相关文章

Java在HBase数据库创建表

Java在HBase数据库创建表 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs 要通过Java在HBase中创建一个数据表,首先需要导入hbase-client.jar驱动包.可以在项目pom.xml配置文件中添加依赖: <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client<artifactId

SQL_如何实现用户A的表A数据插入到用户B的表B中?

***********************************************声明***********************************************************************  原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39901995 *******

sqlite expert导入excel表格 (包括使用问题、以及把 一个表的数据插入到另一个表中)

一.sqlite导入excel 1.打开要导入的excel --- 另存为(2007版点击左上角OFFICE图标即可找到) --- 保存类型:CSV类型 (提示什么不兼容什么的,一律点确定.) 2.打开sqlite expert ,选择建好的数据库文件(或者是导入的已存在的db文件,或者是自己新建一个.db数据库文件). 右击文件名---选择最后一个import text file(CSV,TSV) 3.(如果没有建过和这个excel名相同的表)右边Destination选择第一项new tab

MySql中把一个表的数据插入到另一个表中的实现代码--转

MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: ?

在oracle中怎么把一张表的数据插入到另一张表中

把table2表的数据插入到table1中 insert   into   table1   select   *   from   table2

MySQL数据库表的数据插入、修改、删除操作及实例应用

1.MySQL数据库表的数据插入.修改.删除操作SQL语法格式: 1 CREATE DATABASE db0504; 2 3 USE db0504; 4 5 CREATE TABLE student ( 6 sno VARCHAR (10) NOT NULL UNIQUE PRIMARY KEY, 7 sname VARCHAR (20) NOT NULL, 8 ssex enum ('男', '女') NOT NULL DEFAULT '男', 9 sbirth date, 10 sclass

MySQL 数据库中如何把A表的数据插入到B表?

web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码. 以mysql数据库为例分情况一一说明: 两张表:insertTest和insertTest2,前者中有测试数据 create table insertTest(id int(4),name varchar(12));insert into insertTest values(100,'tom')

MySQL将表a中查询的数据插入到表b中

MySQL将表a中查询的数据插入到表b中 如果表b存在 insert into b select * from a; 如果表b不存在 create table b as select * from a; 扩展: 将b表中的某写字段值插入到a表中 insert into a (userID,userName) select b.userID,b.userName from tr_ajax_chat_messages; 将a表和b表userID相等的值保存到a表 update a set a.use

mybatis3动态创建表,判断表是否存在,删除表

1.mybatis3动态创建表,判断表是否存在,删除表 mapper配置文件: <span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/

vertica从其他表迁移数据到新表(insert into 语句用法实例)

前面一篇开始学习solr的时候,做了个入门的示例http://blog.csdn.net/zjc/article/details/24414271 .虽然可以检索出内容,但总和想象的结果有差异--比如,检索"天龙"两个字,按常规理解,就应该只出来<天龙八部>才对,可是竟然也会把<倚天屠龙记>检出来.后来研究了一下,发现系统是这样处理的:无论是抽索引时还是分析检索词时,都把所有文字按单字拆开.这样,刚好<倚天屠龙记>里包含"天"和&