新書推薦:
《
大思维:哥伦比亚商学院六步创新思维模型
》
售價:HK$
72.8
《
宏观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
UE5虚幻引擎必修课(视频教学版)
》
售價:HK$
110.9
《
真需求
》
售價:HK$
110.9
《
阿勒泰的春天
》
售價:HK$
50.4
《
如见你
》
售價:HK$
51.3
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:HK$
67.0
《
560种野菜野果鉴别与食用手册
》
售價:HK$
67.1
|
編輯推薦: |
从初识HBase到架构原理、基础操作再到性能优化和实战案例,本书涵盖了您所需的全部内容。通过丰富的示例代码和操作步骤,您将轻松掌握HBase的核心概念和操作技巧。无论您是初学者还是有经验的开发人员,本书都为您提供了实践经验和高级用法,帮助您在实际项目中应用HBase并解决问题。深入剖析HBase的底层架构和原理,掌握性能优化的方法和技巧,您将能够提升HBase的性能和效率。与此同时,通过实战案例的演示,您将学习如何将HBase应用于实际项目,解决业务需求。本书还配有课后练习,让您巩固所学知识,更加直观地学习和理解HBase。
作者是知名的少数跨多领域(JAVA/.NET/Python)的IT布道师和国内资深架构师,对平台中间件如Kafka、Nginx、ElasticSearch、Redis、MongoDB等有深入的研究和见解。
|
內容簡介: |
《HBase从入门到实战》系统介绍HBase基本原理与运行机制,融入了作者多年的开发经验与实践技巧。本书共分为11章,主要内容包括:HBase的体系结构和系统特性、HBase的基础数据结构与算法、RegionServer的核心模块、HBase的读写流程、Compaction实现原理和使用策略、负载均衡的实现与应用、HBase的基础指令(包括DDL指令、DML指令、命名空间指令等)、如何使用Java语言操作HBase、客户端的高级API的使用(包括各种过滤器的使用和多种过滤器的综合使用)、通过编写代码实现数据的批量加载、HBase的数据读写优化和RowKey的设计优化。最后,通过一个章节的实战,让读者对HBase的操作进行复习和巩固。 《HBase从入门到实战》适用于以前没有接触过HBase,或者对HBase有所了解并希望深入学习的读者。同时,也适用于HBase应用开发人员和系统管理人员,以及对云计算、大数据处理技术和NoSQL数据库感兴趣的技术人员作为参考书。
|
關於作者: |
张文亮,是知名的少数跨多领域(JAVA/.NET/Python)的IT布道师和国内资深架构师,对平台中间件如Kafka、Nginx、ElasticSearch、Redis、MongoDB等有深入的研究和见解。授课时善于用生活实例来体现抽象概念,知识点讲解细致透彻,能够构建系统知识体系,深受广大学员喜爱。著作包括《大数据高并发Redis一本通》《ElasticSearch全面解析与开发实践》《MySQL入门到实战》等。
|
目錄:
|
目 录
第1章 初识HBase 1
1.1 HBase的发展历程 1
1.2 HBase的特征 2
1.3 HBase的优缺点 2
1.3.1 HBase的优点 2
1.3.2 HBase的缺点 3
1.4 HBase与关系数据库的区别 3
1.5 使用HBase的时机 4
1.6 HBase的应用场景 5
1.7 HBase的数据模型 7
1.8 HBase的逻辑视图 10
1.9 本章练习 11
第2章 让HBase运行起来 12
2.1 HBase基本架构 12
2.2 HBase分布式环境搭建 15
2.2.1 设置服务器名称 15
2.2.2 Hadoop单机安装 16
2.2.3 Hadoop集群安装 21
2.2.4 ZooKeeper集群安装 29
2.2.5 HBase集群安装 32
2.3 使用容器化技术搭建HBase 35
2.3.1 在CentOS环境下安装Docker 35
2.3.2 在Windows 10环境下安装Docker 37
2.3.3 利用Docker安装HBase 38
2.4 HBase快速入门 40
2.4.1 使用HBase Shell 40
2.4.2 使用create命令 41
2.4.3 使用alter命令 41
2.4.4 使用list命令 41
2.4.5 使用describe命令 42
2.4.6 使用put命令 43
2.4.7 使用get命令 43
2.4.8 使用scan命令 44
2.4.9 使用deleteall命令 44
2.5 本章练习 45
第3章 HBase基础操作 46
3.1 help命令 46
3.2 常规命令 49
3.2.1 查询集群状态信息(status命令) 49
3.2.2 查看如何操作表(table_help命令) 51
3.2.3 查询HBase的版本信息(version命令) 52
3.2.4 查看当前用户(whoami命令) 52
3.2.5 查看进程列表(processlist命令) 52
3.3 DDL命令 53
3.3.1 创建表(create命令) 53
3.3.2 修改表信息(alter命令) 54
3.3.3 异步修改表信息(alter_async命令) 57
3.3.4 获取表的详细信息(describe命令) 58
3.3.5 获取HBase中所有的表(list命令) 59
3.3.6 判断表是否存在(exists命令) 60
3.3.7 以对象的方式操作表(get_table命令) 60
3.3.8 启用表(enable命令) 61
3.3.9 启用所有满足正则表达式的表(enable_all命令) 62
3.3.10 判断表是否被启用(is_enabled命令) 63
3.3.11 禁用表(disable命令) 63
3.3.12 禁用所有满足正则表达式的表(disable_all命令) 63
3.3.13 判断表是否被禁用(is_disabled命令) 64
3.3.14 删除表(drop命令) 65
3.3.15 删除所有满足正则表达式的表(drop_all命令) 65
3.3.16 获取RowKey所在的区域(locate_region命令) 66
3.3.17 显示HBase支持的过滤器(show_filters命令) 67
3.4 命名空间 68
3.4.1 创建命名空间(create_namespace命令) 68
3.4.2 修改命名空间(alter_namespace命令) 69
3.4.3 获取命名空间详情(describe_namespace命令) 69
3.4.4 获取命名空间下所有表的名称(list_namespace_tables命令) 70
3.4.5 获取所有的命名空间(list_namespace命令) 70
3.4.6 删除命名空间(drop_namespace命令) 70
3.5 DML命令 71
3.5.1 新增或者修改数据(put命令) 71
3.5.2 全表扫描数据(scan命令) 72
3.5.3 获取表中数据的总行数(count命令) 76
3.5.4 获取表中的数据(get命令) 77
3.5.5 删除列族中的某个列(delete命令) 80
3.5.6 删除整行数据(delete命令) 80
3.5.7 列值自增(incr命令) 81
3.5.8 获取自增后的列值(get_counter命令) 82
3.5.9 获取表所对应的Region数量(get_splits命令) 83
3.5.10 清空整个表数据,不保留分区(truncat命令) 84
3.5.11 清空整个表数据,保留分区(truncat_ preserve命令) 84
3.6 本章练习 85
第4章 使用Java操作HBase 86
4.1 从HelloWorld开始 86
4.2 创建表 91
4.3 添加数据 97
4.4 批量添加数据 101
4.5 内容追加 107
4.6 修改数据 108
4.7 删除数据 109
4.8 批量删除 112
4.9 原子性操作 113
4.10 批量操作 115
4.11 自增 117
4.12 判断数据是否存在 118
4.13 代码封装 119
4.14 本章练习 134
第5章 客户端API高阶用法 135
5.1 数据查询 135
5.2 数据扫描 141
5.3 过滤器快速实战 148
5.4 RowKey过滤器 150
5.5 RowKey前缀过滤器 152
5.6 RowKey模糊过滤器 154
5.7 列族过滤器 155
5.8 列过滤器 157
5.9 多列前缀过滤器 158
5.10 首次列键过滤器 159
5.11 列键过滤器 160
5.12 列值过滤器 161
5.13 单列值过滤器 163
5.14 列值排除过滤器 168
5.15 随机行过滤器 169
5.16 分页过滤器 171
5.17 多个过滤器综合查询 173
5.18 本章练习 174
第6章 HBase数据批量加载 175
6.1 HBase批量加载简介 175
6.2 海量交易记录数据存储案例 176
6.2.1 案例开发准备工作 176
6.2.2 编写实体类 177
6.2.3 创建读取数据的Mapper类 181
6.2.4 编写驱动类 183
6.2.5 上传数据到HDFS 184
6.2.6 将导入的HDFS数据与HBase进行关联 184
6.3 本章练习 185
第7章 协处理器 186
7.1 协处理器简介 186
7.2 协处理器分类 187
7.3 Coprocessor接口 187
7.4 协处理器的加载 189
7.4.1 使用配置文件加载 189
7.4.2 从表描述器中加载 190
7.5 RegionObserver类 192
7.5.1 Region状态 199
7.5.2 处理客户端API事件 201
7.6 自定义Observer案例 202
7.7 本章练习 204
第8章 Phoenix在HBase中的整合应用 205
8.1 Phoenix简介 205
8.2 安装Phoenix 206
8.2.1 下载 206
8.2.2 安装 206
8.3 连接Phoenix 207
8.4 Phoenix快速入门 209
8.4.1 创建表 209
8.4.2 删除表 211
8.4.3 插入数据 211
8.4.4 分页查询 211
8.5 本章练习 212
第9章 HBase架构深入剖析 213
9.1 HBase架构原理 213
9.1.1 RegionServer流程解析 214
9.1.2 StoreFile和HFile结构 215
9.1.3 MemStore和StoreFile 215
9.2 HBase的写流程 216
9.3 HBase的读流程 217
9.4 HBase如何进行增、删、改、查 218
9.5 数据刷写 218
9.5.1 刷写操作的触发时机 219
9.5.2 刷写流程 220
9.6 数据合并 220
9.7 数据拆分 221
9.8 本章练习 223
第10章 HBase的性能优化 224
10.1 表设计优化 224
10.1.1 预分区 224
10.1.2 RowKey设计优化 226
10.1.3 列族数量优化 228
10.1.4 版本优化 228
10.2 HBase提升写效率 228
10.3 MemStore调优 229
10.4 合并调优 230
10.5 WAL调优 231
10.6 HBase读取优化 232
10.7 本章练习 233
第11章 HBase数据操作实战 234
11.1 创建表并添加表数据 234
11.2 修改和删除表数据 237
11.3 批量操作表数据 238
11.4 查询数据 240
11.5 使用过滤器进行数据查询 246
|
內容試閱:
|
随着Hadoop越来越受欢迎,其生态系统也充满活力,其中包括了一些广泛使用的工具,如Hive、Spark、Impala和HBase等。本书着重讲解Apache HBase工具,它构建于Hadoop分布式文件系统上,具有可扩展性、容错性、低延时等特征。HBase整合了Hadoop的水平扩展能力和实时数据服务两方面的优势。在规模方面,HBase允许从单个集群中进行每秒数百万次的读写操作,同时仍可保持Hadoop所有应用可用。然而,开始使用HBase是一个艰巨的任务。这正是写作本书的原因。
本书以精练的语言介绍HBase相关知识,让初学者能够快速上手使用HBase,在自己的企业环境中运行HBase,深入了解HBase具体能做什么样的业务,快速使用Java调用HBase解决企业的业务问题。
本书内容
本书共分为11章,主要内容安排如下:
第1章介绍HBase的发展历程以及HBase与关系数据库的区别。
第2章通过单机模式和集群模式搭建HBase环境,让开发人员快速地把HBase运行起来。
第3章学习使用HBase的基本指令,其中包括DDL命令、DML命令、命名空间命令等的操作。
第4章使用Java语言操作HBase,包括创建表结构、修改表数据等。
第5章介绍客户端等高级API操作,包括数据查询、数据扫描、多种过滤器的使用以及过滤器的综合使用等。
第6章通过Java开发实现HBase的数据批量加载,包括编写驱动器、上传数据到HDSF等。
第7章介绍协处理器的分类和使用,包括协处理器的加载、配置文件加载、接口编写等。
第8章介绍Phoenix在HBase中的整合使用,包括Phoenix的下载使用和基本指令操作。
第9章解析HBase架构,包括HBase架构原理、HBase读写操作流程、数据刷新机制等。
第10章介绍性能优化,包括表设计优化、列族数量优化、HBase读写操作优化等。
第11章是HBase数据操作实战,包括创建表、新增表数据、修改和删除表数据、批量操作表数据等。
本书包含实践中的大部分应用场景。对于深入研究过HBase的读者来说,通过阅读本书,他们不仅能快速、高效地解决业务问题,还能从运维的角度来优化他们自己的HBase数据库。此外,本书还提供了与HBase内部工作原理相关的基本信息和必要解释。读者越是了解HBase的工作原理,就越能在工程中权衡各种因素,做出合理的决策。
资源下载
本书配套示例源代码和PPT课件,需要用微信扫描下面的二维码获取。如果在阅读中发现问题或有疑问,请通过发送电子邮件至booksaga@126.com与我们联系,邮件主题请标注为“HBase从入门到实战”。
范例程序 PPT
最后,感谢各位读者选择本书,希望本书能对读者的学习有所助益。虽然我们对书中所述内容都尽力核实并多次进行文字校对,但由于时间紧迫,加之水平有限,书中难免会有疏漏之处。敬请广大读者批评指正。我们会积极采纳读者的意见,争取不断完善本书,以此回报读者对本书的支持。
编 者
2023年10月
|
|