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. Django:同一个app支持多个数据库

    我以我个人的Mynote工程说明,目的是要在backend这个app里面设置不同的model对应daysn和bear两个数据库进行操作 现在我们先简单对一个完全新建的django工程配置一个自动在my ...

  2. Java中的静态和枚举

    一.静态成员 对静态成员最简单的解释,静态成员属于整个类而不属于某个对象,所以又叫做类变量.一个类不管创建多少个实例对象,静态变量在内存中有且只有一个(调用方法用类名调用). 通常的非静态变量称为实例 ...

  3. CodeForces - 1101B

    题目: B. Accordion time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...

  4. CString与string、char*的区别和转换

    转自:http://blog.csdn.net/luoweifu/article/details/20232379 我们在C++的开发中经常会碰到string.char*以及CString,这三种都表 ...

  5. SQL-50 将employees表中的所有员工的last_name和first_name通过(')连接起来

    题目描述 将employees表中的所有员工的last_name和first_name通过(')连接起来.CREATE TABLE `employees` (`emp_no` int(11) NOT ...

  6. el和jstl标签库讲解视频

    https://www.bilibili.com/video/av22415283/?p=1

  7. JavaWeb开发流程

  8. Java 平时作业五

    使用 I/O 流和文件对象实现目录备份功能. package asg5; import java.io.File; import java.io.FileInputStream; import jav ...

  9. python 列表list相关知识

    List的元素可以是Python的任意数据类型(Boolean,Number,String,List,Dict,Set……) List同样可以使用索引和切片,切片得到的结果也是列表. print(li ...

  10. 第八周学习笔记-ADO.Net中DataTable的应用

    ADO.Net中DataTable的应用  一.知识点描述 1.概述:DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表),是ADO.Net库中的核心对象. 2.DataTabl ...