建表

直接建表:

create ‘表名’,‘列族名'

如果之后想加入新的列族:

alter ‘表名’,‘列族名’

补充:

alter ‘表名’,{NAME=‘列族名’,属性1=>属性值 1,属性2=>属性值2}, {NAME=>‘列族名2’ ,属性 1=>属性值1.....}

如果是不存在的列族,就是添加,如果是已存在的列族,就是修改属性.(eg:version,bloofilter,ttl…)
其中Alter 允许的列族级别属性 BLOOMFILTER, COMPRESSION ,TTL, BLOCKSIZE, BLOCKCACH …

如果建表时想加入一些设置:

create ‘表名’,{NAME=>‘列族名’,VERSIONS=>‘’,BLOCKCACHE=>‘’, BLOOMFILTER=>‘’,COMPRESSION=>‘’,TTL=>‘’},{NAME=>’列族名’, 属性=>属性值........}

bloomfilter是设置布隆过滤器(一般是none,可以设置为row,rowcol),compression是设置数据压缩方式,TTL是设置数据过期时间
查看表的属性:

describe '表名‘

删除表:

Disable '表名‘
drop ‘表名‘

删除列族:

alter‘表名’,‘delete’=>’列族名’

判断表是否存在:

exists '表名‘

为某列族的某列数据拼接后缀数据:

Append ‘表名’,‘行键’,‘列名’,‘拼接值’

删除某个列族的某个字段数据:

delete ‘表名’,‘行键’,‘列族:列’

插入数据put使用

put只能每次插入一个行键对应的一个列族的一个列属性的值,不能直接插入多条数据,区别mysql的一条语句查询。
eg:

put  'student','001','grade:Database',92
put  'student','001','grade:Math',98
put 'student','003','doom:phone',1110989009

hbase中查看所有存在的表,使用list进行查询

hbase所有属性:columns,startrow,endrow,timerange,versions,fliter,limit

get

get是直接使用的行键进行查询是索引查找,速度最快
无论是get还是scan都使用[ ]来查询多个列族字段的数据或者查询时间戳范围数据,如columns=>[‘info:name’,‘info:sno’,‘grade:Database’],如果只是一个列族的单字段数据可以不使用[ ]
eg:
versions=>3表示取过去3个版本的数据,但是前提是需要先设置当前字段有三个版本

get 'student','001',{COLUMNS=>['info:name','info:sno'],TIMERANGE=>[1639034014464,1639034055161],VERSIONS=>3}

scan

scan是基于范围查找,另外Scan命令若不指定显示的版本数,则显示拥有最大(最 新)时间戳的数据版本。
直接查看表中的前10行数据:

scan 'student',{LIMIT=>10}

更广用法:
eg:

scan 'student',{COLUMNS=>['info:name' ,'info:dept' ], STARTROW=>'002',STOPROW=>'005',TIMERANGE=>[1639034014464,1639034055161],VERSIONS=>3}

如果想要显示所有版本数据就必须加上versions

布隆过滤器

查找形式多样,支持多种形式的查找
RowFilter
行键过滤器
查询student表中rowkey中包含123的数据。

scan 'student', {FILTER=> "RowFilter(=,'substring:123')"}

ValueFilter
值过滤器
查询student表中值包含123的数据,因为hbase在存储的时候是以key-value格式的列式存储,在查询遍历的时候每行每列都会遍历,所以才有这个过滤器.
除了可以查询等于,也可以查询大于、大于等于、小于、小于等于、不等于,比较的方式是字典排序。
除非在数据存储的时候存储的类型为数字类型。
substring:包含的意思、binary:精确查询、regexstring:正则匹配、null:空值比较、long:数字比较

scan 'student',{FILTER=> "ValueFilter(=,'substring:123')"}

SingleColumnValueFilter
单列值过滤器
查询student表中列簇为info.列名为server的所有数据。
注意:在使用单列值过滤器必须保证每行数据都有要查询的列,因为查询结果也会返回没有要查询的列的整行记录。

scan 'student',{FILTER=>"SingleColumnValueFilter('info','server',=,'binary:chds-2:60020')"}

PrefixFilter
行键前缀过滤器
查询student表中行键以123开头的所有数据

scan 'student',{FILTER=>"PrefixFilter('123')"}

ColumnPrefixFilter
单列名前缀过滤器
查询student表中以server开头的列的所有数据

scan 'student',{FILTER=>"ColumnPrefixFilter('server')"}

MultipleColumnPrefixFilter
多列名前缀过滤器
查询student表中以server和regioninfo开头的列的所有数据

scan 'student',{FILTER=>"MultipleColumnPrefixFilter('servedr','regioninfo')"}

PageFilter
分页过滤器
分页过滤器要和startRow搭配使用,和LIMIT功能类似。
过滤器搭配使用的时候分页过滤器要放在最后。
但是如果是页面开发使用java api操作,分页过滤器有一个缺点就是必须一页一页翻页,因为要传递startRow的值,和ES的深度分页类似

scan 'student',{FILTER=>"PageFilter(2)",STARTROW=>''}
scan 'student',{LIMIT=>2,STARTROW=>''}

InclusiveStopFilter
包含结尾过滤器
endRow在使用过程中查询结果不包括endRow,可以搭配使用这个过滤器。

scan 'student',{STARTROW=>'',ENDROW=>'',FILTER=>"InclusiveStopFilter('')"}

FamilyFilter
列簇过滤器

scan 'student',{FILTER=>"FamilyFilter(=,'binary:info')"}

QualifierFilter
列名过滤器

scan 'student',{FILTER=>"QualifierFilter(=,'binary:server')"}

SingleColumnValueExcludeFilter
单列值不包含过滤器,和单列值过滤器类似

scan 'student',{FILTER=>"SingleColumnValueExcludeFilter('info','server',=,'binary:13270')

hbase建表,删表,修改,查询(get,scan,布隆过滤器)相关推荐

  1. mysql 怎么修改成新字段_Mysql入门第一课《建表、改表、删表》

    原文在我的 Github 上,欢迎订阅. 前言 本人想学数据库了,于是有了这个Mysql系列. 本系列主要用于本人学习Mysql的记录,我把它当做学习笔记. 没有从安装数据库及用户新增和权限分配等知识 ...

  2. 哈希表应用——布隆过滤器

    注:布隆过滤是用来处理海量数据且允许存在误判 目录 布隆过滤器提出 布隆过滤器概念 布隆过滤器的理论知识 布隆过滤器的实现 布隆过滤器的删除 布隆过滤器优点 布隆过滤器缺陷 布隆过滤器的应用场景 哈希 ...

  3. hbase之布隆过滤器

    一.布隆过滤器 布隆过滤器(Bloom Filter)是1970由布隆提出的.通过一个很长的二进制向量于一系列随即哈希函数生成.下面我就将通过以下小节来介绍布隆过滤器: 1.原因与结构解析 2.数学公 ...

  4. Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)

    前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...

  5. Hbase(二)hbase建表

     一.建表高级属性 下面几个 shell 命令在 hbase 操作中可以起到很到的作用,且主要体现在建表的过程中,看 下面几个 create 属性 1.bloomfilter 布隆过滤器 默认是 ...

  6. 同事删库跑路后,我连表名都不能修改了?

    事情是这样的,前几天隔壁部门的哥们在生产环境的数据库上,执行了一下drop命令,好嘛,活生生的删库跑路的例子居然真的在我身边发生了,好在运维同学给力,后来恢复了数据.事后听说这哥们虽然没被开除,但也吃 ...

  7. MySQL数据库基础学习小终结:连接查询、表结构的修改、约束条件、MySQL与python交互

    目录 一.连接查询 1.内连接 2.外连接 二.表结构的修改--alter 1.修改表名 2.修改字段名 3.修改字段类型--modify 4.添加字段 (1)添加日期字段:datetime (2)e ...

  8. mysql结构改写为hbase表_HBase表描述和修改

    描述 该命令返回表的说明.它的语法如下: hbase>describe'table name' 下面给出的是对emp表的 describe命令的输出. hbase(main):006:0> ...

  9. hbase 建的表删除不掉的问题,已成功解决,经验分享

    所用平台:hadoop 2.7.1,hbase 1.0.1.1,hbase api 1.0.1.1 发现的问题:之前在eclipse中调用api建表.填充数据.查看数据.删除数据.删除表都已经成功,但 ...

最新文章

  1. 压缩感知(Compressive Sensing)学习之(一)
  2. js入门·表单详解一(修改表单属性,修改表单元素值)
  3. 在 WSL2.0 的 Ubuntu 18 里使用 Docker
  4. Rails文件上传file_field报错Encoding::UndefinedConversionError
  5. JavaScript函数补完:toString()
  6. [BZOJ4568][SCOI2016]幸运数字(倍增LCA,点分治+线性基)
  7. Maven多模块构建实例
  8. 定时器和promise_如何讲清楚Promise?
  9. 实验一 线性表的顺序存储与实现_线性表的存储结构(java)
  10. 水清冷冷:Photoshop CC 2020/PSCC 2020安装教程及学习技巧(附工具)
  11. c语言课程终结考试,C语言课程考核方案.doc
  12. html游戏寻宝,达内:用scratch实现的小游戏—迷宫寻宝
  13. java将字符串变小写变大写_Java 实例 – 字符串小写转大写
  14. 新公司入职 从零开始搭建环境
  15. 轻型货车鼓式制动器设计(论文+CAD图纸+Catia三维图+开题报告+任务书+翻译……)
  16. 动物识别系统代码python_动物识别 python 人工智能实验
  17. 网络营销教程SEO 第四章.搜索引擎优化基础(第二节)
  18. 微信图片翻译技术优化之路
  19. Nginx之URL重写
  20. Python绘制Mandelbrot Set与Julia Set

热门文章

  1. EasyHook远程代码注入
  2. C++ 学习之函数重载、基于const的重载
  3. 聊一聊ws2_32.dll和wsock32.dll
  4. 第45讲:哪都能存,Item Pipeline 的用法
  5. 计算机基础- -操作系统环境
  6. 淘系音视频技术的演进之路
  7. 音视频技术开发周刊 | 152
  8. 吴涛 :低延迟传输协议和新Codec将成为热点
  9. H.264基础知识及视频码流解析
  10. Maven pom 文件解释