本书以HBase 2.x为主线,全面介绍了HBase的安装和使用。全书共9章,分别讲解了NoSQL概念、HBase理论基础、HBase部署、HBase的Shell操作、HBase的Java API操作、过滤器、高级应用、调优和HBase集成MapReduce,并在最后完整开发了一个聊天工具存储系统,帮助大家巩固前面所学的内容。
本书附有配套视频、教学PPT、教学设计、测试题等资源,同时,为了帮助初学者更好地学习本书中的内容,还提供了在线答疑,欢迎读者关注。
本书可以作为高等教育本、专科院校数据科学与大数据技术及相关专业的教材,并适合大数据开发初学者、大数据运维人员以及大数据分析与挖掘的从业者阅读。
本书在编写的过程中,结合党的二十大精神进教材、进课堂、进头脑的要求,将知识教育与思想政治教育相结合,通过案例加深学生对知识的认识与理解,注重培养学生的创新精神、实践能力和社会责任感。案例设计从现实需求出发,激发学生的学习兴趣和动手思考的能力,充分发挥学生的主动性和积极性,增强学习信心和学习欲望。在知识和案例中融入了素质教育的相关内容,引导学生树立正确的世界观、人生观和价值观,进一步提升学生的职业素养,落实德才兼备的高素质卓越工程师和高技能人才的培养要求。此外。编者依据书中的内容提供了线上学习资源,体现现代信息技术与教育教学的深度融合,进一步推动教育数字化发展。
第1章 HBase简介 1.1 认识NoSQL 1.1.1 NoSQL简介 1.1.2 NoSQL特点 1.1.3 CAP理论 1.2 HBase概述 1.3 HBase数据模型 1.4 HBase体系结构 1.5 HBase读写流程 1.6 本章小结 1.7 课后习题 第2章 HBase部署 2.1 基础环境搭建 2.1.1 创建虚拟机 2.1.2 安装Linux操作系统 2.1.3 克隆虚拟机 2.1.4 配置虚拟机 2.1.5 安装JDK 2.1.6 配置时间同步 2.2 部署Hadoop 2.3 部署Zookeeper 2.4 HBase部署之独立模式 2.5 HBase部署之分布式模式 2.5.1 HBase部署之伪分布式模式 2.5.2 HBase部署之完全分布式模式 2.6 本章小结 2.7 课后习题 第3章 HBase的Shell操作 3.1 运行HBase Shell 3.2 命名空间操作 3.2.1 查看命名空间 3.2.2 创建命名空间 3.2.3 查看命名空间属性 3.2.4 修改命名空间 3.2.5 删除命名空间 3.2.6 查看命名空间的表 3.3 表操作 3.3.1 创建表 3.3.2 查看表信息 3.3.3 查看表 3.3.4 停用和启用表 3.3.5 判断表 3.3.6 修改表 3.3.7 删除表 3.4 数据操作 3.4.1 插入数据 3.4.2 查询数据 3.4.3 条件查询 3.4.4 删除数据 3.4.5 追加数据 3.5 本章小结 3.6 课后习题 第4章 HBase的Java API操作 4.1 构建开发环境 4.2 连接HBase 4.3 命名空间管理 4.3.1 查看命名空间 4.3.2 创建命名空间 4.3.3 查看命名空间属性 4.3.4 修改命名空间 4.3.5 删除命名空间 4.3.6 查看命名空间的表 4.4 表管理 4.4.1 创建表 4.4.2 查看表信息 4.4.3 查看表 4.4.4 停用和启用表 4.4.5 修改表 4.4.6 删除表 4.5 数据管理 4.5.1 插入数据 4.5.2 查询数据 4.5.3 追加数据 4.5.4 删除数据 4.6 本章小结 4.7 课后习题 第5章HBase过滤器 5.1 过滤器原理 5.2 环境准备 5.3 值过滤器 5.4 列值过滤器 5.5 单列值过滤器 5.6 行过滤器 5.7 列族过滤器 5.8 列过滤器 5.9 时间戳过滤器 5.10 装饰过滤器 5.10.1 跳转过滤器 5.10.2 全匹配过滤器 5.11 分页过滤器 5.12 过滤器列表 5.13 本章小结 5.14 课后习题 第6章 HBase高级应用 6.1 协处理器 6.1.1 协处理器简介 6.1.2 加载协处理器 6.1.3 卸载协处理器 6.1.4 定义Observer类型的协处理器 6.1.5 定义Endpoint类型的协处理器 6.2 Region的拆分 6.2.1 自动拆分 6.2.2 使用自动拆分 6.2.3 预拆分 6.3 Region的合并 6.4 快照 6.5 本章小结 6.6 课后习题 第7章 HBase调优 7.1 内存优化 7.1.1 HBase组件的内存优化 7.1.2 GC优化 7.2 操作系统优化 7.2.1 关闭THP 7.2.2 系统保留内存的优化 7.2.3 Swap优化 7.2.4 NUMA优化 7.3 HDFS优化 7.3.1 开启Short Circuit Local Read 7.3.2 开启Hedged Reads 7.4 HBase优化 7.4.1 BlockCache优化 7.4.2 MemStore优化 7.4.3 StoreFile优化 7.4.4 客户端缓存优化 7.4.5 使用压缩优化 7.4.6 ZooKeeper优化 7.5 表设计优化 7.6 本章小结 7.7 课后习题 第8章 HBase集成MapReduce 8.1 MapReduce概述 8.1.1 MapReduce核心思想 8.1.2 MapReduce编程模型 8.1.3 实现MapReduce程序 8.1.4 案例——词频统计 8.2 MapReduce读取HBase数据 8.3 MapReduce写入HBase数据 8.3.1 通过Map过程向HBase写入数据 8.3.2 通过Reduce过程向HBase写入数据 8.4 本章小结 8.5 课后习题 第9章 综合项目—聊天工具存储系统 9.1 项目概述 9.1.1 项目背景介绍 9.1.2 原始数据结构 9.1.3 需求分析 9.1.4 表设计 9.2 模块开发—构建开发环境 9.3 模块开发—构建数据存储服务 9.3.1 构建表 9.3.2 模拟生成用户聊天消息 9.3.3 存储用户聊天消息 9.4 模块开发—构建数据查询服务 9.4.1 根据指定日期查询发送消息的内容 9.4.2 根据指定关键字查询发送消息的日期 9.5 本章小结