美文网首页
code搬运工_HBaseClientAPI和架构

code搬运工_HBaseClientAPI和架构

作者: 自由的灯塔 | 来源:发表于2019-04-08 21:00 被阅读0次

HBaseClientAPI和架构

  • HBase架构
    HBase Master是服务器负责管理所有的HRegion服务器,HBase Master并不存储HBase服务器 的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegion Server群中,HBase Master Server中存储的是从数据到HRegion Server的映射。一台机器只能运行一个HRegion服务器,数据的操作会记录在Hlog中,在读取数据时候,HRegion会先访问Hmemcache缓存,如果缓存中没有数据才回到Hstore中上找,没一个列都会有一个Hstore集合,
    每个Hstore集合包含了很多具体的HstoreFile文件,这些文 件是B树结构的,方便快速读取。

Ø Row Key: 行键,Table的主键,Table中的记录按照Row Key排序
Ø Timestamp: 时间戳,每次数据操作对应的时间戳,
可以看作是数据的version number
Ø Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以由任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式
存储,用户需要自行进行类型转换。

  • HBaseClient API
    Ø HBaseAdmin
    提供了一个接口来管理 HBase 数据库的表信息。它提供的方法包括:创建表,删 除表,列出表项,使表有效或无效,以及添加或删除表列族成员等。


    image.png

Ø HBaseConfiguration
对 HBase 进行配置



Ø HTableDescriptor

包含了表的名字极其对应表的列族 image.png
Ø HColumnDescriptor
维护着关于列族的信息,例如版本号,压缩设置等。
它通常在创建表或者为表添 加列族的时候使用。

列族被创建后不能直接修改,只能通过删除然后重新创建的方式。列族被删除的时候,列族里面的数据也会同时被删除。


image.png
Ø HTable
可以用来和 HBase 表直接通信。此方法对于更新操作来说是非线程安全的。
image.png
image.png
Ø Put
用来对单个行执行添加操作
image.png
ØGet
用来获取单个行的相关信息
image.png

ØResult
存储 Get 或者 Scan 操作后获取表的单行值。使用此类提供的方法可以直接获取值 或者各种 Map 结构( key-value 对)


image.png
Ø HTablePool
能够解决HTable存在的线程不安全问题。同一时候通过维护固定数量的HTable对象,能够在程序执行期间复用这些HTable资源对象。
说明:
1. HTablePool能够自己主动创建HTable对象,并且对客户端来说使用上是全然透明的。能够避免多线程间数据并发改动问题。
2. HTablePool中的HTable对象之间是公用Configuration连接的,能够能够降低网络开销。
HTablePool的使用非常easy:每次进行操作前。通过HTablePool的getTable方法取得一个HTable对象,然后进行put/get/scan/delete等操作,最后通过HTablePool的putTable方法将HTable对象放回到HTablePool中。
Ø ResultScanner
存储Get或者Scan操作后获取表的单行值。
使用此类提供的方法能够直接获取值或者各种Map结构( key-value对)。

相关文章

  • code搬运工_HBaseClientAPI和架构

    HBaseClientAPI和架构 HBase架构HBase Master是服务器负责管理所有的HRegion服务...

  • ASCII 编码表

    完全是个搬运工,就是记录一下:) ASCII: American Standard Code for Inform...

  • 运行报错linker总结

    linker command failed with exit code 1!错误总结 我只是一名勤劳的搬运工,方...

  • Vue3 Vant UI

    前段架构学习 前端架构 VS CODE Node 14.1.0 Vue 3 Vant UI 安装NVM并配置 安装...

  • scss2css in VS code

    辛勤的搬运工 用法详见 Here如何在 VS code 编辑器中使用 scss??? 并生成 css 文件?首先安...

  • ES资料

    1 ES架构分析 http://www.code123.cc/2582.html

  • Android Studio开发好用插件推荐

    AS超好用插件推荐 Code lris 插件的可视化软件架构在开发团队促进理解和交流。特点: 解析groovy和j...

  • HTML文件标记解剖

    ■ HTML基本架构: 以下HTML Source Code便是一份HTML文件的基本架构: 网页的标题 网页的内...

  • android编译系统

    android源码架构 通过源码的架构,知道android源码在整个体系的code base充当什么样的角色,有助...

  • ElasticSearch | Logstash | 入门 |

    Logstash 数据搜集处理引擎,支持 200 多个插件。 Logstash | 架构简介 Codec(Code...

网友评论

      本文标题:code搬运工_HBaseClientAPI和架构

      本文链接:https://www.haomeiwen.com/subject/rehmiqtx.html