• Hbase访问方式


    Hbase访问方式

    Hbase shell命令操作

     

    Hbase shell命令操作--general操作

     

     

     首先启动Hbase

     

     启动shell

     

     

     

    查看表结构

     

     

     

     

     

     删除一个表

    创建表和查看表结构

    插入几条数据

     

    查看有哪些数据

    获取一个Row Key 的所以数据

     

    获取一个Row Key,一个列簇 的所以数据

     

    获取一个Row Key,一个列簇中其中一列的所以数据

     

     

     

     更新一条数据

     扫描全表

    删除列簇的其中一个列

     统计表中的总行数

     清空表的内容

     

                                                                                      Hbase java 编程

     Hbase java 编程 -- 程序设计步骤

     

    HbaseTest.java 参考代码

    package com.dajiangtai.hadoop.hbase;
    
    import java.io.IOException;
    
    import javax.ws.rs.PUT;
    
    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.MasterNotRunningException;
    import org.apache.hadoop.hbase.ZooKeeperConnectionException;
    import org.apache.hadoop.hbase.client.Delete;
    import org.apache.hadoop.hbase.client.Get;
    import org.apache.hadoop.hbase.client.HBaseAdmin;
    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;
    
    import com.sun.xml.internal.ws.api.ha.StickyFeature;
    
    public class HbaseTest {
       public static Configuration conf;
       static {
           conf = HBaseConfiguration.create();//第一步
           conf.set("hbase.zookeeper.quorum", "dajiangtai1,dajiangtai2,dajiangtai3,dajiangtai4,dajiangtai5");
           conf.set("hbase.zookeeper.property.clientPort", "2181");
           conf.set("hbase.master", "dajiangtai1:60000");
       }
       
       public static void main(String[] args) throws IOException{
           //createTable("member");
          //insertDataByPut("member");
           QueryByGet("member");
           //QueryByScan("member");
          //deletData("member");
       }
       
       public static void createTable(String tableName) throws MasterNotRunningException,ZooKeeperConnectionException,
       IOException{
           HBaseAdmin hBaseAdmin = new HBaseAdmin(conf);//创建HBaseAdmin对象
          // 先判断这个表是否存在
    if(hBaseAdmin.tableExists(tableName)){ hBaseAdmin.disableTable(tableName); hBaseAdmin.deleteTable(tableName); } HTableDescriptor tableDescriptor = new HTableDescriptor(tableName);//将表名称传进去实例化HTableDescriptor这个表 //添加family tableDescriptor.addFamily(new HColumnDescriptor("address")); tableDescriptor.addFamily(new HColumnDescriptor("info")); hBaseAdmin.createTable(tableDescriptor);//创建表 hBaseAdmin.close();//释放资源 }
    //插入数据方法
    public static void insertDataByPut(String tableName) throws IOException { HTable table = new HTable(conf,tableName); Put put1= new Put(getBytes("djt")); put1.add(getBytes("address"),getBytes("country"),getBytes("china")); put1.add(getBytes("address"),getBytes("province"),getBytes("beijing")); put1.add(getBytes("address"),getBytes("city"),getBytes("beijing")); put1.add(getBytes("info"),getBytes("age"),getBytes("28")); put1.add(getBytes("info"),getBytes("birthday"),getBytes("1988-12-12")); put1.add(getBytes("info"),getBytes("company"),getBytes("dajiangtai")); table.put(put1); //插入数据 table.close(); //释放资源 }
    //查询数据
    public static void QueryByGet(String tableName) throws IOException{ HTable table =new HTable(conf,tableName); Get get = new Get(getBytes("djt")); //根据rowkey查询 Result r=table.get(get); //执行操作 System.out.println("获得到rowkey:"+new String(r.getRow())); for(KeyValue keyValue : r.raw()){ System.out.println("列簇:" + new String(keyValue.getFamily()) + "====列" + new String(keyValue.getQualifier()) + "====值" + new String(keyValue.getValue()) ); } table.close(); } public static void QueryByScan(String tableName) throws IOException{ HTable table =new HTable(conf,tableName); Scan scan = new Scan(); scan.addColumn(getBytes("info"),getBytes("company")); ResultScanner scanner = table.getScanner(scan); for(Result r : scanner) { System.out.println("获得到rowkey:" + new String(r.getRow())); for(KeyValue kv : r.raw()){ System.out.println("列簇:" + new String(kv.getFamily()) + "====列" + new String(kv.getQualifier()) + "====值" + new String(kv.getValue()) ); } } scanner.close(); table.close(); } public static void deleteData(String tableName) throws IOException{ HTable table = new HTable(conf,tableName); Delete delete = new Delete(getBytes("djt")); delete.deleteColumn(getBytes("info"),getBytes("age")); table.delete(delete); table.close(); } //转化byte数组 public static byte[] getBytes(String str){ if(str == null) str=""; return
    Bytes.toBytes(str); } }

    现在集群里吧存在的表删除掉

     在main()方法执行一下

     

    查看表的结构

     执行插入数据

     

    如何进行查询

    进行扫描

    如何进行删除数据

     

     执行后

     

                                                  Hbase MapReduce编程

  • 相关阅读:
    Django学习(二) Django框架简单搭建
    Django学习(一) Django安装配置
    Python学习(一) Python安装配置
    注册第一天,纪念一下
    小程序笔记
    详解HTML5中的进度条progress元素简介及兼容性处理
    服务管理
    yum
    管道,输出,管道,重定向,grep
    VIM
  • 原文地址:https://www.cnblogs.com/braveym/p/7518508.html
Copyright © 2020-2023  润新知