HBase入门(1)

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了HBase入门(1)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

小伙伴们大家好~

HBase 简介

  • HBase 是BigTable的开 java 版本。数据文件存储在 HDFS,是一个分布式、可扩展、支持海量数据存储NoSQL数据库
  • 具有@H_304_16@高可靠性、高性能可扩展列存储实时读写等特点
  • HBase 仅能通过主键(row key)和主键的 range 来检索数据,仅支持单行事务
  • 主要用来存储结构化和结构化的松散数据
  • Hbase 查询数据功能很简单,不支持 join 等复杂操作,不支持复杂的事务(行级的事务),从技上来说,HBase 更像是一个「数据存储」而不是「数据库」,因为 HBase 缺少 RDBMS 中的许多特性,例如带类型的列、二级索引以及高级查询语言等
  • Hbase 中支持的数据类型:byte[]
  • 与 Hadoop 一样,Hbase 目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加存储和处理能力,例如,把集群从 10 个节点扩展到 20 个节点,存储能力和处理能力都会加倍
  • HBase 中的一般有这样的特点
    • :一个表可以有上十亿行,上百万列
    • 面向列:面向列(族)的存储和权限控制,列(族)独立检索
    • 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏

HBase 应用

  • HBase 只要有海量数据存储,而且需要快速的写入以及快速的读取场景,就很适合 HBase
  • 但要记住 NoSQL 的特点:对事务的支持性较弱的
  • 可以用来存储爬虫的数据、点赞/转发、银行转账订单....

HBase 特点

  1. 强一致性读/写

    • HBase 不是“最终一致的”数据存储

    • 它非常适合于诸如高速计数器聚合等任务

  2. 自动分块

    • HBase 表通过 Region 分布在集群上,随着数据的增长,区域被自动拆分和重新分布
  3. 自动 RegionServer 故障转移

  4. Hadoop/HDFS 集成

    • HBase 支持 HDFS 开箱即用作为其分布式文件系统
  5. Mapreduce

    • HBase 通过 MaPReduce 支持大规模并行处理,将 HBase 用作源和接收器
  6. Java Client API

    • HBase 支持易于使用的 Java API 进行编程访问
  7. Thrift/REST API

  8. 块缓存和布隆过滤器

    • HBase 支持块 Cache 和 Bloom 过滤器进行大容量查询优化
  9. 运行管理

    • HBase 为业务洞察和 JMX 度量提供内置网页

HBase 结构

  • 以表形式存在
  • 支持 HDFS 文件系统
  • 使用行键(row key)
  • 原生支持分布式存储、计算引擎
  • 使用行、列族、列、和单元格

HBase 数据模型

  • HBase 中是有表的概念的
  • 一个表中可以包含多个列族(官方建议使用一个列族,避免 flush 产生大量小文件)
  • 一个列族可以包含很多的列
  • 每一个列对应的单元格(值、timestamp)

 

HBase入门(1)

 

 

 

HBase入门(1)

 

 

我的公众号:主要记录大数据+金融的学习笔记

欢迎关注:

 

HBase入门(1)

 

脚本宝典总结

以上是脚本宝典为你收集整理的HBase入门(1)全部内容,希望文章能够帮你解决HBase入门(1)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。