首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

技术干货 | Hbase数据坐标

Hbase在表里存储数据使用是四维坐标系统。分别是:行健、列族、列限定符和时间版本。...单元新建、修改和删除都会留下新时间版本,当没有设定时间版本时,HBase以毫秒为单位使用当前时间,所以版本数字用长整型long表示。单元里数据每个版本提交一个KeyValue实例给Result。...可用方法getTimestamp()来获取KeyValue实例版本信息。如果一个单元版本超过了最大数量,多出记录在下一次大合并时会扔掉。 ?...把所有坐标视为一个整体,Hbase可看做一个键值数据库,可把单元数据看做值。当使用Hbase API检索数据时,不需提供全部坐标,如果在GET命令中省略了时间版本,将返回多个时间版本映射集合。...可以在一次操作中,获取多个数据,按坐标的降序列。 如果是全维度坐标,将得到指定单元值。去掉时间版本后,得到一个从时间戳列值映射。再继续去掉列限定符,得到一个指定列族下所有列限定符映射。

1.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

SpringBoot整合HBase数据写入Docker中HBase

在之前项目里,docker容器中已经运行了HBase,现将API操作HBase实现数据增删改查 通过SpringBoot整合Hbase是一个很好选择 首先打开IDEA,创建项目(project...创建完后pom文件如下(修改了spring-boot-starter-parent版本),并且加入了HBase客户端依赖 <?xml version="1.0" encoding="UTF-8"?....*; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import org.junit.Test...,我用是mobaSSHTunnel(MobaXterm工具下插件),随后开启相应端口,并且我docker也映射了云服务器上端口: ?...(“hbase.zookeeper.quorum”, “xxx”);这行代码里后面的xxx是你主机名称,我HBasehbase-site.xml里面的配置对应是cdata01,那么这个xxx必须是

1.5K40

HBase数据操作

# HBase数据操作 put delete 数据查询 get scan 数据统计 # put 语法 put '表名','行键','列族:列限定符','单元格值',时间戳 描述 必须指定表名、行键...、列族、列限定符 列族必须是已经创建,否则HBase会报错 列名是临时定义,所以列族里列是可以随意扩展 时间戳是可选参数,如不设置,则系统会自动插入当前时间为时间戳 参数区分大小写,字符串使用单引号...只能插入单个数据 描述:如果指定单元格已经存在,则put操作为更新数据; 单元格会保存指定VERSIONS=>n多个版本数据 # delete 语法 delete '表名','行键','列族...语法 count '表名' hbase(main):004:0> count ‘student’ 3 row(s) in 0.0440 seconds 在关系型数据库中,有多少条记录就有多少行,表中行数很容易统计...而在 HBase 里,计算逻辑行需要扫描全表内容,重复行键是不纳入计数,且标记为删除数据也不纳入计数。

1.8K30

HBase原理 | HBase RegionServer宕机数据恢复

HBase采用类LSM架构体系,数据写入并没有直接写入数据文件,而是会先写入缓存(Memstore),在满足一定条件下缓存数据再会异步刷新到硬盘。...如果不幸一旦发生RegionServer宕机或者其他异常,这种设计可以从HLog中进行日志回放进行数据补救,保证数据不丢失。HBase故障恢复最大看点就在于如何通过HLog回放补救丢失数据。...HLog构建:详见另一篇博文《HBase-数据写入流程解析》中相关章节,此处再将HLog结构示意图拿出来: 上图可以看出,一个HLog由RegionServer上所有Region日志数据构成,日志数据最小单元为...首先从原理上讲一旦数据从Memstore中落盘,对应日志就可以被删除,因此一个文件所有数据失效,只需要看该文件中最大sequenceid对应数据是否已经落盘就可以,HBase会在每次执行flush时候纪录对应最大...每个buffer会对应启动一个写线程,负责将buffer中数据写入hdfs中(对应路径为/hbase/table_name/region/recoverd.edits/.tmp),再等Region重新分配到其他

2.7K30

HBase数据定义

# HBase数据定义 HBase Shell 数据定义 创建表 表相关操作 查看某个表是否存在 查看当前HBase所有的表名 查看选定表列族及其参数 修改表结构 删除表 清空数据 # HBase...Shell HBase Shell:HBase命令行工具,最简单接口,适合HBase管理使用; [root@localhost bin]# hbase shell HBase Shell; enter...(main):001:0> 命令 描述 语法 help 查看命令使用描述 help '命令名' whoami 我是谁 whoami version 返回hbase版本信息 version status...返回hbase集群状态信息 status table_help 查看如何操作表 table_help shutdown 关闭hbase集群(与exit不同) tools 列出hbase所支持工具...exit 推出hbase shell # 数据定义 命令 描述 create 创建指定模式新表 alter 修改表结构,如添加新列族 describe 展示表结构信息,包括列族数量与属性

1.1K20

2021年大数据HBase(十三):HBase读取和存储数据流程

HBase读取和存储数据流程 一、HBase读取数据流程 1、由客户端发起读取数据请求, 首先先连接 zookeeper , 从zookeeper获取hbase:meta表被哪个regionServer...所管理meta表中主要记录了 hbase中各个表有那些region,以及每个region被哪个regionServer所管理hbase中非常特殊数据存储表, 此表只会有一个region 2、连接...client , client根据需要过滤出需要数据, 最后展示给调用者 二、HBase存储数据流程 客户端同步流程:  1、客户端发起写入数据请求, 首先会先连接zookeeper, 从zookeeper...获取hbase:meta表所在regionServer地址 2、连接meta表对应regionServer, 从meta表获取目标表对应要写入数据region地址(基于regionstartkey...对应region中store模块memStore中, 当这个两个地方都写入完成后, 客户端就会认为数据写入完成了 异步服务器端执行过程: 5、客户端不断进行数据写入工作, memStore数据也会不断增多

1.7K10

HBase 数据读写流程

数据 HBase表是按行拆分为一个个 region 块儿,这些块儿被放置在各个 regionserver 中 假设现在想在用户表中获取 row key 为 row0001 用户信息 要想取得这条数据...,就需要先找到含有此条记录 region HBase 是如何定位到具体 regionserver 中具体 region 呢?...HBase 中有一个内置 hbase:meta 表,其中记录了所有表所有 region 详细信息 例如 region 开始KEY、结束KEY、所在server地址…… ?...hbase:meta 表就像一个目录,通过他可以快速定位数据实际位置 hbase:meta 表是存储在 ZooKeeper 中,所以客户端就需要先访问 ZooKeeper,获取到 hbase:meta...,从中查询出目标数据是在哪个 regionserver 中哪个 region 中,然后到 region 中进行读取 ?

2K81

hbase数据清理 原

hbase(main):024:0> hbase(main):026:0> major_compact('SVNCHECKOUTTBL_UPT') 0 row(s) in 0.1920 seconds...上面是基本操作,如果你表已经很满,满到几乎快把hadoop撑爆时候,上面的方法是慢慢删除方法,下面是具体解释: ttl是hbase中表数据过期时间,一个列族可以对应一个ttl值 habse...中数据删除不是立刻执行,类似软删除,当你标识数据为删除状态之后,hbase会在大版本合并时候去真正处理hadoop上文件,进而释放磁盘空间, 另外注意一点,在修改表ttl值时候,一般需要先disable...'table' 还有一剂猛药,就是直接disable 'table' 然后drop 'table' 版本库合并会在后台执行,占用比较多内存和cup资源,一般在系统负载较低情况下执行,可以直接写一个脚本.../bin/sh exec /usr/local/code_hbase/hbase/bin/hbase shell <<EOF major_compact('TABLE') EOF

2.1K30

HBase 数据存储结构

在「HBase」中, 从逻辑上来讲数据大概就长这样: 单从图中逻辑模型来看, HBase 和 MySQL 区别就是: 将不同列归属与同一个列族下 支持多版本数据 这看着感觉也没有那么太大区别呀,...他数据是如何进行存储呢? HBase 数据物理结构 在介绍其物理结构之前, 要先简单提一下 LSM 树 LSM树 和 MySQL 所使用B+树一样, 也是一种磁盘数据索引结构....在内存中维护一个有序数据 将内存中数据push 到磁盘中 将磁盘中多个有序文件进行归并, 合成一个较大有序文件 HBase存储 在「HBase」中, 数据存储就使用了 「LSM 树」进行存储....其中每一条数据都是一条操作记录. 那么在「HBase」实现中部分内容如下....等等 总结 简单了解了「HBase数据落盘格式, 也大概解释 HBase 很多疑惑, 比如: 为什么只支持 row key 索引查询 因为整个文件是按照 row key 排序 为什么读取效率比

2.6K20

Hbase数据

海量数据存储解决方案:Hbase数据库解析 HBase是一个分布式、面向列开源数据库,该技术来源于 Fay Chang 所撰写Google论文“Bigtable:一个结构化数据分布式存储系统...就像Bigtable利用了Google文件系统(File System)所提供分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable能力。...HBase是ApacheHadoop项目的子项目。HBase不同于一般关系数据库,它是一个适合于非结构化数据存储数据库。另一个不同HBase基于列而不是基于行模式。...搭建环境: HDFS+Hbase 表结构: 列族:列集合,它是表模式不能修改。...Hbase数据操作 shell命令行: list:列出所欲表 create “表名”,“列族”,“多个列族” put “表名”,“行键”,“列族:列”,“值” get “表名”,“行键”

1.7K20

2021年大数据HBase(七):Hbase架构!【建议收藏】

Hbase架构 一、Client 客户端,例如:发出HBase操作请求。...例如:之前我们编写Java API代码、以及HBase shell,都是CLient 二、Master Server 监控RegionServer , 处理RegionServer故障转移 处理元数据变更..., 处理region分配或移除 在空闲时间进行数据负载均衡 通过Zookeeper发布自己位置给客户端 三、Region Server 处理分配给它Region , 负责存储HBase实际数据...每个列族将有一个MemStore 当MemStore存储快满时候,整个数据将写入到HDFS中HFile中 八、StoreFile 每当任何数据被写入HBASE时,首先要写入MemStore...Ahead Log,它最大作用就是 故障恢复 WAL是HBase中提供一种高并发、持久化日志保存与回放机制 每个业务数据写入操作(PUT/DELETE/INCR),都会保存在WAL中 一旦服务器崩溃

66730

2021年大数据HBase(六):HBase高可用!【建议收藏】

HBase高可用 考虑关于HBase集群一个问题,在当前HBase集群中,只有一个Master,一旦Master出现故障,将会导致HBase不再可用。...所以,在实际生产环境中,是非常有必要搭建一个高可用HBase集群。 一、HBASE高可用简介 HBase高可用配置其实就是HMaster高可用。...要搭建HBase高可用,只需要再选择一个节点作为 HMaster,在HBaseconf目录下创建文件backup-masters,然后再backup-masters添加备份Master记录。..., 然后在UI界面, 查看是否有 backup节点出现即可 stop-hbase.sh start-hbase.sh 注意: 启动hbase时候, 一定要确认 zookeeper 和 hadoop是启动良好...本文由 Lansonli 原创,首发于 CSDN博客 大数据系列文章会每天更新,停下休息时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好生活✨

1.8K20

误删HBase数据如何抢救?

数据保护 当误删数据发生时候,不管三七二十一,第一要务是进入hbase shell,执行如下命令: ?...这里有必要解释一下HBase清理数据原理: 首先HBase是一个LSM架构,不断发生着数据文件写入和合并 当删除操作发生时,不会去清理数据文件中数据,而是写入一个删除标记到新文件中。...我们来看一个简单例子,还是以hbase shell为例子: 1.首先我们准备几行数据 ? 2.然后我们删掉y开头掉数据 ? 3.查一下,现在只有3行了 ?...其他 上文使用hbase shell演示,你可以使用任何语言API完成上面的操作。...如果你使用是云HBase,即便因为major compaction物理删除了数据,只要你开启了备份功能,依然可以恢复。

1.8K40

2021年大数据HBase(十四):HBase原理及其相关工作机制

HBase原理及其相关工作机制 一、HBaseflush刷新机制(溢写合并机制) hbase2.0: flush溢写流程说明 flush溢写流程:   hbase 2.0版本后流程      ..., 不能改) 2) 在Hbase2.0版本后, 这个管道中数据, 会尽可能晚刷新到磁盘中, 一直存储在内存中,  随着memStore不断溢写, 管道中数据也会不断变多 3) 当管道中数据,...达到一定阈值后, hbase就会启动一个flush刷新线程, 对pipeline管道中数据一次性全部刷新到磁盘上,而且在刷新过程中, 对管道中数据进行排序合并压缩操作, 在HDFS上形成一个合并后...1) 在Hbase中, 所有的数据随机操作,都是对内存中数据进行处理, 如果是添加, 在内存中加入数据, 如果修改, 同样也是添加操作(时间戳记录版本),  如果删除,本应该是直接到磁盘中将数据删除,...可以正常进行,因为只有region server参与 表数据读写还可以正常进行 因此master下线短时间内对整个hbase集群没有影响。

65520
领券