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. tensorflow:保存与读取网络结构,参数

    训练一个神经网络的目的是啥?不就是有朝一日让它有用武之地吗?可是,在别处使用训练好的网络,得先把网络的参数(就是那些variables)保存下来,怎么保存呢?其实,tensorflow已经给我们提供了 ...

  2. jmeter如何进行MQTT性能测试(测试前期准备二,MQTT插件及协议了解)

    jmeter插件下载地址及使用,已经有大佬总结好了 大佬的博客地址: https://blog.csdn.net/yellowanwu/article/details/50889677 添加线程组:添 ...

  3. Observable详解

    Observable详解 rxjs angular2 在介绍 Observable 之前,我们要先了解两个设计模式: Observer Pattern - (观察者模式) Iterator Patte ...

  4. iphone html5页面禁止点击数字就打电话

    在html页面的head代码之间增加下面代码: <meta name="format-detection" content="telephone=no" ...

  5. 如何在linux环境安装JDK

    1. 到JDK官网下载相应的安装包 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...

  6. oracle 查询年月日连在一起

    SELECT B.YEAR || replace(lpad(B.MONTH, 2), ' ', '0') || replace(lpad(B.WEEK, 2), ' ', '0') from TT_U ...

  7. mycat练习笔记

    学习要趁早,装逼莫等老. 刚刚开始接触到mycat, 当然要学习一下了.拿它来设置 mysql 的读写分离,分库分表,以及集群等. 官网: http://www.mycat.io/  有详情介绍,有G ...

  8. [RESTful] RESTful是什么,为什么要使用它

    RESTful是什么? 本质:一种软件架构风格 核心:面向资源 解决的问题:降低开发的复杂性,提高系统的可伸缩性 设计概念和准则: 1.网络上所有的事物都可以被抽象为资源 2.每个资源都有唯一的资源标 ...

  9. matlab简介 基本操作

    1.快捷键: Tab.Ctrl+] :增加缩进 Ctrl+[ :减少缩进 Ctrl+I:自动缩进 Ctrl+R:增加注释 Ctrl+T:去掉注释 F12:设置或清除断点 F5:运行 2.特殊变量: i ...

  10. java 开发环境配置 安装 MyEclipse

    一.下载MyEclipse开发工具 下载地址:http://www.myeclipsecn.com 需要注册帐号,登录后点击下载