• hbase入门之--简单命令和java代码操作


    1.简单命令

    对表的操作:

    create--创建表

    list--查看table表的名称,类似show tables;

    descript--查看表的主体结构

    scan--查看表的实体内容

    disable/enable--表的可用性

    drop--删除表(需要先可用性为disable)

    对内容的操作:

    put--添加内容

    append--追加内容

    get--获取内容

    delete--删除内容

    2.java API的应用

    import java.io.IOException;
    import java.util.List;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.Cell;
    import org.apache.hadoop.hbase.CellUtil;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.Admin;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import org.apache.hadoop.hbase.client.Get;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.client.Table;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.junit.Before;
    import org.junit.Test;
    
    public class test {
    //通用类
        static Configuration conf;
        static Connection cont;
        static Admin admin;
        
        //建立连接
    /**
     *     
     */
        @Before
        public void init() {
                    // 取得一个数据库连接的配置参数对象
            conf=HBaseConfiguration.create();
                    // 设置连接参数:HBase数据库所在的主机IP
            conf.set("hbase.zookeeper.quorum", "192.168.110.101");
                    // 设置连接参数:HBase数据库使用的端口
            conf.set("hbase.zookeeper.clientPort", "2181");
            try {
        // 取得一个数据库连接对象   
    cont=ConnectionFactory.createConnection(conf);
        // 取得一个数据库元数据操作对象 admin=cont.getAdmin(); } catch (IOException e) { e.printStackTrace(); } if(null!=cont) { System.out.println("hello hbase"); } } //查询数据 /** * * @throws IOException */ @Test public void testGetdeom() throws IOException { //根据表名,得到表内的字段 byte[] tn_bytes="customer".getBytes(); //获取里面的value,并重新以表的形式储存 TableName tn=TableName.valueOf(tn_bytes); //根据行键获取bytes,并赋值为get类型,以表的形式连接 Get gt=new Get("Laochu".getBytes()); Table tt=cont.getTable(tn); //从形成的表中获取行键为result类型 Result rt=tt.get(gt); //将获取内容以cell泛型存储 List<Cell> cell=rt.listCells(); //循环输出里面内容 for(Cell cloums:cell) { byte[] family=CellUtil.cloneFamily(cloums);//用cellutil编码转译,克隆得到 byte[] qualifier=CellUtil.cloneQualifier(cloums); byte[] value=CellUtil.cloneValue(cloums); long timetaple=cloums.getTimestamp(); System.out.println(" 列族:"+Bytes.toString(family) +" 列名:"+Bytes.toString(qualifier) +" 值:"+Bytes.toString(value) +" 时间戳:"+timetaple); } } }
  • 相关阅读:
    补:冲刺Day1
    需求规格说明书2.0
    补:冲刺Day2
    冲刺Day3
    Base64上传图片
    C#怎样通过url调用接口
    js键盘控制DIV移动
    利用MVC的过滤器实现url的参数加密和解密
    在.net MVC中异步上传图片或者文件
    mvc url路由参数的加密和解密
  • 原文地址:https://www.cnblogs.com/qianshuixianyu/p/9506341.html
Copyright © 2020-2023  润新知