`
wxiaoneng
  • 浏览: 8472 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

hbase-0.90.2中创建表、插入数据,更新数据,删除数据(

阅读更多
所需要的包有:

commons-codec-1.4.jar

commons-logging-1.1.1.jar

hadoop-0.20.2-core.jar

hbase-0.90.2.jar

log4j-1.2.16.jar

zookeeper-3.3.2.jar



背景:

假设有一个不知道是干什么表:)

表里需要存入人员和其相对应的部门信息



代码:


import java.util.ArrayList;
import java.util.List;
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.Delete;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;



public class HbaseAddEdtDel {

public static Configuration configuration=null;
  static {
  configuration = HBaseConfiguration.create();
  configuration.set("hbase.master", "192.168.0.201:60000");
  configuration.set("hbase.zookeeper.quorum","192.168.0.201,192.168.0.202,192.168.0.203"); 
  configuration.set("hbase.zookeeper.property.clientPort", "2181");       
}

    public static void main(String[] args) throws Exception {
    
       HBaseAdmin admin = new HBaseAdmin(configuration);
     
     
       if (admin.tableExists("riapguh")) {
            System.out.println("删除 table");
            admin.disableTable("riapguh");
            admin.deleteTable("riapguh");
        }
      
      
       //创建riapguh表
        System.out.println("创建 table");
        HTableDescriptor tableDescripter = new HTableDescriptor("riapguh".getBytes());//创建表
        tableDescripter.addFamily(new HColumnDescriptor("user"));//创建列簇user
        tableDescripter.addFamily(new HColumnDescriptor("dpt"));//创建列簇dpt
        admin.createTable(tableDescripter);
      
        HTable table = new HTable(configuration, "riapguh");
  
      //插入数据
      System.out.println("add riapguh data");
      List<Put> putuser = new ArrayList<Put>();
    
      
       Put user1 = new Put(new String("用户A").getBytes());
       //写入用户员信息
       user1.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_0001").getBytes());
       user1.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户A").getBytes());
     
       //写入部门信息
       user1.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_001").getBytes());
       user1.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门A").getBytes());
       putuser.add(user1);
   
     
   
       Put user2 = new Put(new String("用户B").getBytes());
       //写入用户员信息
       user2.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_0002").getBytes());
       user2.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户B").getBytes());
     
       //写入部门信息
       user2.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_002").getBytes());
       user2.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门B").getBytes());
       putuser.add(user2);
   
     
     
       Put user3 = new Put(new String("用户C").getBytes());
       //写入用户员信息
       user3.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_0003").getBytes());
       user3.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户C").getBytes());
     
       //写入部门信息
       user3.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_003").getBytes());
       user3.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门C").getBytes());
       putuser.add(user3);
   
  
   table.put(putuser);
      table.flushCommits();
    
      //更新用户B
      Put updateb = new Put(new String("用户B").getBytes());
     //写入用户员信息
      updateb.add(new String("user").getBytes(), new String("user_code").getBytes(), new String("u_000xsx").getBytes());
      updateb.add(new String("user").getBytes(), new String("user_name").getBytes(), new String("u_用户xsx").getBytes()); 
      //写入部门信息
      updateb.add(new String("dpt").getBytes(), new String("dpt_code").getBytes(), new String("d_00xsx").getBytes());
      updateb.add(new String("dpt").getBytes(), new String("dpt_name").getBytes(), new String("d_部门xsx").getBytes());
      table.put(updateb);
    
      table.flushCommits();
      //HBaseBasic.selectByRowKey("riapguh");
    
      System.out.println("-------------删除用户C---------------------");
      //删除用户C
      //able.delete(new Delete(new String("用户C").getBytes()));
      List<Delete> deld = new ArrayList<Delete>();
      deld.add(new Delete(new String("用户C").getBytes()));
      table.delete(deld);
    
      table.flushCommits();
      //HBaseBasic.selectByRowKey("riapguh");
    }

}





分享到:
评论
2 楼 wxiaoneng 2012-01-10  
http://www.iteye.com/topic/1100746
1 楼 wxiaoneng 2011-12-22  
第一次评论留给了自己

相关推荐

    hbase-0.90.2中创建表、插入数据,更新数据,删除数据

    假设有一个不知道是干什么表:) 表里需要存入人员和其相对应的部门信息 HBaseAdmin admin = new HBaseAdmin(configuration); List&lt;Put&gt; putuser = new ArrayList();

    hbase-0.90.5.tar.gz与hadoop0.20.2版本匹配

    4. **测试**:创建表并插入数据,验证HBase是否正常工作。 对于Hadoop 0.20.2,这是一个较早的版本,其主要特性包括: 1. **MapReduce**:提供了大规模数据处理的计算框架,通过拆分任务到多台机器并行处理。 2. *...

    hbase-2.4.17-bin 安装包

    2. 插入数据:通过`put '表名', '行键', '列族:列限定符', '值'`命令插入数据。 3. 查询数据:`get '表名', '行键'`获取整行数据,或`scan '表名'`进行全表扫描,可以指定过滤器等条件。 4. 删除数据:`delete '...

    phoenix-hbase-2.4-5.1.2

    Phoenix支持创建表、索引,以及更新、删除和查询数据。其特有的物理计划和优化器能够根据查询条件选择最佳的执行路径,提升查询效率。 5. **性能优化** 在实际应用中,为了最大化利用Phoenix和HBase的性能,我们...

    hbase-meta-repair-hbase-2.0.2.jar

    HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs.root.dir配置项,hdfs 最好写 ip; ②将core-site.xml、hdfs-site.xml添加到BOOT-INF/...

    hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架

    并提供了以类SQL的方式来读写HBase表中的数据。对HBase的API做了一层抽象,统一了HBase1.x和HBase2.x的实现,并提供了读写HBase的ORM的支持,同时,sdk还对HBase thrift 的客户端API进行了池化封装,(类似JedisPool...

    phoenix-hbase-2.2-5.1.2-bin.tar.gz

    Phoenix提供了丰富的SQL功能,包括创建表、插入数据、更新、删除、联接、子查询、聚合函数等。这些特性使得Phoenix在处理大数据时具有很高的灵活性和便利性。例如,用户可以通过CREATE TABLE语句定义HBase表的Schema...

    hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包

    2. **插入数据**:使用`put`命令将数据写入表的特定行和列。 3. **查询数据**:使用`get`命令获取数据,可以指定行键和列限定符。 4. **扫描操作**:使用`scan`命令可以获取表中的一系列行,支持过滤器进行条件筛选...

    phoenix-5.0.0-HBase-2.0-client

    一旦设置完成,你就可以在Squirrel SQL Client中创建新的数据库连接,选择刚才创建的Phoenix驱动,然后输入HBase集群的相关连接信息,如Zookeeper的主机名和端口。这样,你就能够通过SQL语句直接查询和操作HBase中的...

    hbase-1.2.1-bin.tar.gz.zip

    全称为Hadoop Distributed File System上的基础结构(HBase on Hadoop Distributed File System),是一种分布式的、面向列的开源数据库,它构建在Apache Hadoop文件系统(HDFS)之上,提供高可靠性、高性能、可伸缩...

    HBase(hbase-2.4.9-bin.tar.gz)

    HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...

    hbase-2.4.11-src.tar.gz

    通过深入学习和研究`hbase-2.4.11`的源码,开发者不仅可以理解HBase的基本原理,还能掌握如何优化性能,解决实际应用中的问题,为大数据处理提供更强大的支持。无论是对HBase的开发、运维还是调优,这份源码都是宝贵...

    phoenix-hbase-1.4-4.16.1-bin

    同时,复杂的SQL查询可能会导致大量的HBase扫描,需要合理设计表结构和索引来避免性能瓶颈。 总的来说,"phoenix-hbase-1.4-4.16.1-bin"为HBase引入了SQL的便利性,使得大数据分析更为高效。但使用时也需注意其与...

    hbase-2.4.11-bin.tar.gz

    在HBase中,数据存储在表中,每个表由行键(Row Key)、列族(Column Family)、列限定符(Column Qualifier)和时间戳(Timestamp)四部分组成。这种结构使得HBase非常适合处理大规模稀疏数据集。 HBase的2.4.11...

    hbase-1.3.1-bin.tar.gz.7z

    在shell中,可以尝试创建表、插入数据并查询,以确认HBase与Hadoop的集成正常。 在生产环境中,可能还需要考虑HBase的高可用性、安全性以及性能调优等复杂问题。例如,配置多个HMaster和RegionServer以实现故障转移...

    hbase-1.0.1.1-bin.tar.gz.zip

    - 插入数据:通过`put`命令向表中插入数据,指定行键和列族:列:版本的数据。 - 查询数据:使用`get`命令按行键获取数据,或者使用`scan`进行扫描查询。 - 更新数据:更新数据相当于插入新版本,HBase会保留旧版本...

    phoenix-client-hbase-2.2-5.1.2.jar

    phoenix-client-hbase-2.2-5.1.2.jar

    hbase-2.0.2-bin.tar

    一旦运行起来,你可以通过HBase shell或编程接口进行数据操作,创建表、插入数据、执行查询等。 总的来说,HBase 2.0.2是一个强大且灵活的大数据存储解决方案,尤其适用于需要实时访问海量结构化数据的场景。通过...

    hbase-client-2.1.0-cdh6.3.0.jar

    hbase-client-2.1.0-cdh6.3.0.jar

    hbase-1.2.6.1-bin.tar.gz

    hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz

Global site tag (gtag.js) - Google Analytics