Hbase常用操作记录

创建表

语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
  • 例如:创建表t1,有两个family name:f1,f2,且版本数均为2
create 'table',{NAME => 'family1', VERSIONS => 2,TTL=>'100000'},{NAME => 'family2', VERSIONS => 2,TTL=>'100000'}

查看表结构

describe <table>

修改表结构

disable 'table'
alter 'table',{NAME=>'info',TTL=>'100000'}
enable 'table'

删除表

disable 'table'
drop 'table'
统计行数 hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'tablename'
添加数据 put 'table','rowkey','family:column','value'
查询表中的数据行数 count 'table', {INTERVAL => 100, CACHE => 500}
删除数据
删除行中的某个列值 delete 'table','rowkey','family:column'
删除行 deleteall 'table','rowkey'
删除表中的所有数据 truncate 'table'
rowkey中包含某关键字
  • BinaryComparator-使用Bytes.compareTo()比较
  • BinaryPrefixComparator-和BinaryComparator差不多,从前面开始比较
  • NullComparator-Does not compare against an actual value but whether a given one is null, or not null.
  • BitComparator-Performs a bitwise comparison, providing a BitwiseOp class with AND, OR, and XOR operators.
  • RegexStringComparator-正则表达式
  • SubstringComparator-把数据当成字符串,用contains()来判断
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.需要使用的过滤器
提取rowkey以01结尾数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator(".*01$"));
提取rowkey以包含201407的数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new SubstringComparator("201407"));
提取rowkey以123开头的数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new BinaryPrefixComparator("123".getBytes())))
import org.apache.hadoop.hbase.filter.RowFilter
scan 'table',FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new('KEY'))
以某关键字开头
scan 'table', FILTER => "PrefixFilter ('关键字')"
根据column family value查询 包含某一关键字的数据
scan 'table', FILTER=>"ColumnPrefixFilter('family:column') AND ( ValueFilter(=,'substring:关键字1') OR ValueFilter(=,'substring:关键字2') )"
查询值等于某一关键字的数据
scan 'table', FILTER=>"ValueFilter(=,'binary:关键字')"
 

Hbase常用操作记录的更多相关文章

  1. Hbase常用操作(增删改查)

    Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区  作者:net19880504 [字体:大 中 小]     运行Eclipse,创建一个新的Java工程“HBa ...

  2. HBase常用操作之namespace

    1.介绍 在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分.Apache HBase从0.98.0, 0.95.2两个版本开始支 ...

  3. Hbase常用操作

    下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N' ...

  4. Mysql常用操作记录

    在linux平台中相关的MySql操作 打开Mysql mysql -uroot -p  //-u后边为用户名,-p后边为密码    1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql& ...

  5. 【Json】fastjson与jackson常用操作记录

    本文只是记录fastjson.jackson一些常用的操作方法,没作比较,网上写比较的文章很多啦. 1.对象转Json串 // fastjson String objStr = JSON.toJSON ...

  6. 关于mac的一些常用操作记录

    之前记录过一个关于mac远程连接window机,实现共享文件的记录,今天记录一些常用的操作,会持续更新. 1.谷歌浏览器 f12的操作 command+option+i 打开调试面板 2.打开指定位置 ...

  7. git常用操作记录

    之前的多人项目大多使用了SVN作为版本控制,自己只会用eclipse连接GitHub的操作.这次项目采用了git作为版本控制系统,所以学会了很多新操作,这里权当记录,以备后用. git的一些基本操作可 ...

  8. 第二篇 Mysql常用操作记录(转载)

    我们在创建网站的时候,一般需要用到数据库.考虑到安全性,建议使用非root用户.常用命令如下: 1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户my ...

  9. HBase常用操作-HBaseUtil

    package com.zhen.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.Col ...

随机推荐

  1. mybatis调用存储过程,获取返回的游标

    将调用存储过程参数放入map中,由于返回的游标中包含很多参数,所以再写一个resultmap与之对应,类型为hashmap.设置返回的jdbcType=CURSOR,resultMap设置为id对应的 ...

  2. numpy数组及处理:效率对比

    def Sum(n): #定义一个函数(注意:格式对齐,否则会出错) a=list(range(n)) b=list(range(0,50000*n,5)) c=[] for i in range(l ...

  3. ubuntu系统 不能访问非系统磁盘即挂载的数据盘 Unable to access "DATA"

    问题描述: ubuntu14.04 有两个硬盘,一个固态硬盘作为系统盘,一个机械硬盘作为数据盘. 打开 数据盘“DATA”时出现下面的错误: Unable to access "DATA&q ...

  4. flink基础教程读书笔记

    数据架构设计领域发生了重大的变化,基于流的处理是变化的核心. 分布式文件系统用来存储不经常更新的数据,他们也是大规模批量计算所以来的数据存储方式. 批处理架构(lambda架构)实现计数的方式:持续摄 ...

  5. Server Tomcat v7.0 Server at localhost failed to start.解决办法

    今天,导入maven项目时,报的错,因为之前没遇到过这个错,一时抓不到头绪,最后请技术大神帮忙解决.他首先看的eclipse的配置,是否与项目对应,在看看.seting 文件中的名称是否与项目名对应, ...

  6. C# 索引和长度必须引用该字符串内的位置 LENGTH

    今天遇到了 索引和长度必须引用该字符串内的位置 的问题. 原因是实用 Substring 对字符串进行了前五位的截取,但是忽略了字符串本身不足五位的情况. 如果不足五位,直接将整个字符串赋值过来,添加 ...

  7. vue安装遇到vue不是内部变量

    配置path系统变量 打开我的电脑-->右键属性-->高级系统设置-->环境变量-->Path-->添加获得npm的位置(搜索vue.cmd 可以找到该位置) 全局安装位 ...

  8. 1—ARM中的寄存器

    ARM共有37个寄存器.其中31个通用寄存器和6个状态寄存器. 一般通用寄存器R0-R12 R0-7为未分组寄存器:R8-12为分组寄存器. 未分组寄存器:在任何模式下,指向的都是同一个32位的物理寄 ...

  9. node.js安装使用express框架

    官网:http://www.expressjs.com.cn/ 使用方式(如果后面需要添加路由等推荐第二种方式,不然需要需要手动添加):一.自己动手搭建 1. 新建项目文件夹,如test,并在命令行中 ...

  10. Linux:Gentoo系统的安装笔记(一)

    这次我选择安装Gentoo,用来做我学习的笔记.这次我是使用虚拟机安装Gentoo,一是方便操作,二是可以看着手册,一边看一边操作,严格按照手册上的步骤执行,一般是不会出现问题的. 查看手册最好学会看 ...