HBase实战

HBase实战第一章 HBase 介绍 nbsp HBase 是一种数据库 Hadoop 数据库 它经常被描述为一种稀疏的 分布式的 持久化的 多维有序的映射 它基于行键 rowkey 列键 columnkey 和时间戳 timestamp 建立索引 nbsp HBase 基于 BigTable nbsp 联机事务处理 OLTP 尽快的返回响应结果 nbsp 联机分析处理 OLAP nbsp 抓取增量数据 nbsp nbsp nbsp nbsp 1 抓取监控指标 OpenTSDB nbsp nbsp nbsp nbsp

第一章 HBase介绍
 

HBase是一种数据库:Hadoop数据库。它经常被描述为一种稀疏的、分布式的、持久化的、多维有序的映射,它基于行键(row key)、列键(column key)和时间戳(timestamp)建立索引。 
HBase基于BigTable 
联机事务处理(OLTP)尽快的返回响应结果 
联机分析处理(OLAP) 
抓取增量数据: 
    1.抓取监控指标:OpenTSDB 
    2.抓取用户交互数据:Facebook和StumbleUpon 
    3.遥测技术 Mozilia和Trend Micro 





第二章 入门  
HBase是一种专门为 半结构话数据(semistructured)和水平可扩展性(horizontal scalability) 
设计的数据库。它表数据存储在表里。在表里,数据按照一个四维坐标系来组织: 
    行键、列簇、列限定符、时间版本 
HBase是无模式数据库,只需要提前定义列簇。它也是无类型数据库,把所有数据不加解释滴按照字节数组存储。有5个基本命令来访问HBase中的数据: 
    Get、Put、Delete、Scan、Increment 
基于非行键查询HBase的唯一办法是通过带过滤器的扫描 
HBase不是一个ACID兼容数据库 
  HBase不是一个ACID兼容数据库。但是HBase提供一些保证,当你的应用系统访问HBase系统时,你可以用其来使你的应用系统的行为更加合理。这些保证具体如下: 
    1.操作是低级原子不可分的。换句话说,给定行上的Put()要门整理成功要么整体回到 
      操作开始前的状态,永远不会部分行写入而凌一航部分没有。这个要素和操作执行 
      的列簇的数量五官 
    2.行间操作不是原子性的。不能保证所有操作整体成功或者失败,所有单行操作如上一点 
      所述是原子性的 
    3.checkAnd* 和 increment* 操作是原子不可分的 
    4.对于给定的多个写操作,总是以每个写操作为整体彼此独立的。这是低一点的延伸。 
    5.对于给定行的任何Get()操作,返回系统当时所保存的完整行 
    6.全表扫描不是对某个时间点表的快照扫描。如果扫描已经开始,但是在运行R行被扫描 
      器对象读出之前,行R被改变了,那么扫描器独处行R更新后的版本,但是扫描器读出 
      的数据是一直的,得到行R更新后的完整行 

数据模型从逻辑上可以分为键值存储或者有序映射的映射。物理数据模型是基于列簇的列式数据库,单个记录以键值形式存储。 
Atomicity   原子性 
Consistency 一致性 
Isolation   隔离性 
Durability  持久性 
一个列簇对应一个MemStore,也对应一个BlockCache,对应多个HFile,HFile是基于列簇的 
行键。列簇,列限定符,时间版本 用java对象表示为: 
Map
>>> 

行键是HBase中唯一的全局索引坐标,因为查询经常通过行键扫描实现。复合行键是支持这种扫描的常见做法。 
行键值经常希望是均衡分部的。诸如MD5或SHA1等散列算法通常用来实现这种均衡分部 





第三章 分布式的HBase、HDFS和MapReduce  
Hadoop分布式文件系统作为HBase的存储层,支持可用性(availability)和可靠性(reliability) 
联机事务处理(OLTP) 和 联机分析处理(OLAP) 
在线系统看中的是得到一点数据所需要的时间 
离线系统看中的是每秒处理单位数量 

许多计算问题本来很适合并行化处理。只是因为一些偶然的原因,它们不得不用串行化方式处理。这 

些原因可能是编程语言设计、存储引擎实现方式、函数库API等。挑战一下你的算法设计能力,看看 

这样的情况有哪些。不是所有问题都容易并行处理 

MapReduce概览 
MapReduce的一些限制如下: 
  1.所有计算都分解为map或者reduce任务来实现 
  2.每个任务处理全部输入数据中的一部分 
  3.主要根据输入数据和输出数据定义任务 
  4.任务依赖于自己的输入数据,不需要与其他任务通讯


































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208047.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:29
下一篇 2026年3月19日 下午12:29


相关推荐

  • 1、ZigBee 开发教程之基础篇—ZigBee简介和学习方法

    1、ZigBee学习笔记之基础篇—ZigBee简介和学习方法文章目录1、ZigBee学习笔记之基础篇—ZigBee简介和学习方法1、前言2、ZigBee简介3、ZigBee和IEEE802.15.4的关系4、ZigBee的特点5、ZigBee无线网络通信信道分析6、ZigBee的网络拓扑模型7、ZigBee的应用范围8、本人所使用的开发板的硬件资料9、快速掌握ZigBee的学习方法1、前言​ ZigBee学习笔记系列是基于笔者需要使用ZigBee模组进行项目开发而写的学习笔记。

    2022年4月8日
    185
  • layer弹出层的简单使用

    layer弹出层的简单使用一 layer 的 icon 样式以上样式测试代码 layer confirm icon 测试 icon 1 title 提示 function index dosomethinga 确认 layer close index 二 询问框官方案例 询问框 layer co

    2026年2月2日
    2
  • python 面向对象全面详解

    python 面向对象全面详解目录 nbsp 一 对面向对象的理解 1 面向对象的编程 objectorient python 面向对象的重要术语 3 函数和面向对象编程的区别二 封装 继承 多态 1 封装 Encapsulatio 2 继承 Inheritance 3 多态 Polymorphism 三 面向对象的各种方法 1 静态方法 nbsp 用这个装饰器来表示

    2026年3月26日
    1
  • YUV介绍

    YUV介绍YUV表示的含义人们常用RGB表示三基色,而且RGB也可以表示出所有颜色。但视觉心理学研究表明,人眼主要是对光的感知,人的视觉系统对光的感知程度用亮度(luminance)和色度(chrominance)两个属性表示,也就是我们常说的YUV。Y就是亮度感知,而色度感知分为两个属性:色相(hue)和色饱和度(saturation)。色相也就是U,是由光波的峰值定义的,描述的是光的颜色;色饱和度V…

    2022年7月16日
    17
  • usb转rs485测试软件,usb转rs485驱动程序

    usb转rs485测试软件,usb转rs485驱动程序usb转rs485线必须安装usb转rs485驱动程序才可以正常使用,而本次发布的这个usb转rs485驱动,就是那个东东啦。USB转485驱动程序官方版发布。。驱动压缩包中此外还包含了USB编程电缆驱动程序安装说明-485.doc,喜欢的小伙伴可以下载使用。USB转RS485串口驱动PL2303,适合WIN7/WINXP/LINUX等系统。usb转485转换器线驱动安装方法:1、在安装前可以…

    2022年4月28日
    36
  • 设备管理 USB ID「建议收藏」

    设备管理 USB ID「建议收藏」发现个USBID站点,对于做设备管理识别的小伙伴特别实用http://www.linux-usb.org/usb.ids附录:## ListofUSBID’s## MaintainedbyStephenJ.Gowdy<linux.usb.ids@gmail.com># Ifyouhaveanynewentries,…

    2022年7月13日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号