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", "");
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(""));
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编程

Hbase访问方式的更多相关文章

  1. 分布式结构化存储系统-HBase访问方式

    分布式结构化存储系统-HBase访问方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. HBase提供了多种访问方式,包括HBase shell,HBase API,数据收集组件( ...

  2. hbase的几种访问方式

    Hbase的访问方式 1.Native Java API:最常规和高效的访问方式: 2.HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用: 3.Thrift Gat ...

  3. HBase的访问方式

    这里只介绍三种最常用的方式 1.HBase shell HBase的命令行工具是最简单的接口,主要用于HBase管理 首先启动HBase 帮助 hbase(main):001:0> help 查 ...

  4. Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...

  5. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  6. Objective-C 中self.与_访问方式的区别

    Objective-C中属性self.a与_a访问的区别: 在OC中我们可以通过指令@property定义属性. OC对属性封装了许多方法,同时也会自动实现一些方法,相比实例变量,感觉更加面向对象些. ...

  7. 在APACHE服务器上的访问方式上去除index.php

      在APACHE服务器上的访问方式上去除index.php   下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index ...

  8. Django 之 ForeignKey、ManyToMany的访问方式

    1.ForeignKey 情况I: from django.db import models class Blog(models.Model): pass class Entry(models.Mod ...

  9. Java中Map集合的四种访问方式(转)

    最近学习Java发现集合类型真是很多,访问方式也很灵活,在网上找的方法,先放下备用 public static void main(String[] args) { Map<String, St ...

随机推荐

  1. openstack--1--基础环境搭建

    Openstack介绍 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. Openstack包含三大项 ...

  2. 我发起了一个 .Net 平台上的 产生式编程 开源项目 GP.Net

    大家好 , 我发起了一个 .Net 平台上的 产生式编程 开源项目 GP.Net . 我们可以先看看一个网友的 代码生成器 项目 : <.Net 代码生成器 for PostgreSql> ...

  3. jstack实战死循环与死锁学习笔记

    一.实战死循环导致CPU飙高 top -p pid -H jstack pid printf "%s"  十进制的线程id 二.创建CUP100%实例(死循环) 1.创建CpuCo ...

  4. 导入导出Excel文件

    搭建环境 先新建web project ,然后Add Struts Capabilties: 下载导入导出Excel所需的jar包: poi-3.8-20120326.jar包  :  http:// ...

  5. 简单说说 Java 的 JVM 内存结构

    问:简单说说 Java 的 JVM 内存结构分为哪几个部分? 答:JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分,分别解释如下.虚拟机栈:线程私有的,每个方法在执行时会创建一个 ...

  6. EXCEL 将网络图片地址插入为锁定的图片单元格宏

    Sub InsertPic2(ByVal 图片链接 As String, ByVal 插入图片表名 As String, ByVal 插入图片单元格地址 As String) On Error Res ...

  7. 存储过程DT参数

    public static void TableValuedToDB(DataTable dt, string storedProcName, string TypeName) { using (Sq ...

  8. Device Identifier and Device DNA初识

    Device Identifier and Device DNA初识 信息来源 怎么样去用这个DNA:

  9. Java封装案例

    ---恢复内容开始--- 在类的getter/setter方法中在getter方法中要先实列话 在构造方法中无参构造(必须要构造)好处很多!!! 描述学生信息及相关联的专业信息 把Subject和St ...

  10. java rsa 公钥加密

    注意JAVA 的STRING .getBytes() 默认取的是操作系统的编码,最好统一UTF-8. -- /* * To change this license header, choose Lic ...