本书重点
最后一章HBase项目实战——论坛日志分析,可以作为研究课题和毕业论文素材,值得收藏。
本书配套示例源码、PPT课件、开发环境、教学视频、习题及答案以及其他丰富的教学资源,方便自学。
内容简介
本书定位是HBase从入门到应用的简明教程,特色是以实战案例为主,内容系统全面,讲解深入浅出,操作步骤清晰明了。
本书配套示例源码、PPT课件、开发环境、教学视频、习题及答案以及其他丰富的教学资源。
本书共分为8章,内容包括NoSQL数据库、HBase体系架构、HBase的接口、MapReduce与HBase、HBase表设计、HBase和Hive、HBase深入剖析、论坛日志分析实战。
适合读者
本书既适合HBase初学者、大数据分析与挖掘初学者阅读,也适合作为高等院校和培训机构人工智能、大数据等相关专业师生的教学参考书。
作者简介
陈建平,福州德明科技有限公司,大数据专家讲师。2006年从事大数据相关的工作,2010年开始从事大数据培训工作。15人以上的大数据团队带队经验。曾承担过BI工程师、数据挖掘工程师、大数据架构师、数据科学家、大数据技术总监、合伙人等职位。曾参与和组织过个性化推荐大数据和图像处理的人工智能等20多个项目。曾在上海IBM公司担任过高级数据挖掘工程师。多次受邀参加学校大数据实验室专家和高校专业论证会。
前言
大数据(Big Data)一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新。现在的各个行业都依赖于大量数据的支撑,数据量也越来越庞大,关系型数据库海量数据读写性能差、灵活度欠缺等缺点也暴露出来。因此,大量NewSQL数据库在这个背景下诞生并被广泛应用,其中HBase就是这样的一个分布式、可扩展的数据存储系统。HBase于2006年年底由PowerSet的Chad Walters和Jim Kellerman发起,2008年成为Apache Hadoop的一个子项目,现在已作为成熟产品应用在淘宝、百度、天猫、菜鸟、阿里云、高德、优酷等多家知名互联网企业,满足业务对于大数据分布式存储的基本需求。它不同于关系型数据库着重于增、删、改,而转向着重于查询,使数据读取更加高效、安全。基于Hadoop生态,HBase使用HDFS分布式存储系统作为共享文件存储系统。
HBase技术来源于Fay Chang所撰写的论文Google BigTable,是BigTable的开源实现。HBase在Hadoop上提供了BigTable的功能,现已成为Apache开源项目的一个顶级项目。
在Hadoop生态圈中,HBase位于结构化存储层,HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,ZooKeeper为HBase提供了稳定的failover(故障转移)机制。此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变得非常简单,Sqoop则为HBase提供了方便的关系型数据库数据导入功能。HBase在Hadoop生态圈中的地位可见一斑。
HBase和Hadoop一样,目标是通过横向扩展,添加普通机器来提高存储性能和计算性能。HBase特点:大(一个表可以有上亿行以及百万级的列)、面向行存储、稀疏(由于null不占用存储空间,所以表结构可以设计得非常稀疏)。因此,HBase和 Hadoop一样,目标是通过横向扩展,添加普通机器来提高存储性能和计算性能。
关于本书
本书定位是HBase从入门到应用的简明系统教材,特色是理论和实践相结合,更多的是以实战为主,内容全面、深入浅出地讲解每个知识点,尽力做到通俗易懂。对每个案例进行分步骤式讲述,每个步骤都有文字说明和效果截图,使读者能够清晰地知晓自己在动手实操过程的效果和错误之处,对问题一目了然。例如,在5.5节的话单表分析案例中,通过“预分区建立话单表”→“添加话单表项目数据”→“Java编写代码和Shell命令行进行查询操作”这种方式,详细展开教与学,充分发挥学生学习的自主性。
本课程采用了“案例贯穿式”“问题导向教学法”等教学方法,每个学习情境中的教学案例都基于一个真实的工作项目或实例。例如,最后一章就展开了从基础数据到可视化数据的真实案例 教学。
本书分为8章,全书由陈建平进行统稿工作。第1章由陈建平撰写,着重介绍非关系型数据库的原理以及优缺点;第2章由陈岸青撰写,着重介绍HBase的基本架构和各个组件,其中包括HMaster、HBase Client、ZooKeeper、HRegionServer;第3章由李金湖编写,着重介绍HBase的接口以及使用Java操作HBase;第4章由邓维编写,着重介绍MapReduce与HBase之间的联系和使用;第5章由余仰淇编写,着重介绍HBase的表设计;第6章由许梓明编写,着重介绍Hive和HBase的整合和使用;第7章由王斌编写,着重介绍HBase的表属性版本和BlockCache配置;第8章由马汉斌编写,整合了HBase与Hadoop生态,介绍了一个完整的大数据实践案例。全书提供与章节内容配套的案例,重点章节配有习题。
本书适合的读者
本书适合HBase初学者、对大数据感兴趣的技术人员,以及想要从事大数据开发工作的人员。
本书也适合作为大数据技术中HBase案例的基础用书,适合作为中职、高职、应用型本科大数据技术的前导课程,在整个人才培养方案里面属于大数据的专业基础课程,建议授课时间为第2学期或者第3学期。
阅读本书之前,读者应该具有如下基础:有一定计算机网络基础知识;了解 Linux基本原理;掌握基本的Linux操作命令;了解Java编程语言;了解传统的数据库理论知识。
资源下载与答疑服务
本书配套资源包括课程标准、课程大纲、教学日历、教学课件PPT、实训手册、课后习题和答案、期末考试卷和答案、案例环境、教学视频。这些资源非常方便各高校教师的授课。
本书配套资源,需要使用微信扫描右边二维码下载,可按页面提示,把链接转发到自己的邮箱中下载。如果下载有问题或者学习中发现问题,请联系booksaga@163.com,邮件主题为“分布式数据库HBase案例教程”。
大数据技术的发展非常快速,HBase的相关新用法也在不断发现,在今后的工作中,笔者以及本书的技术支持官网(德明教育官网)会持续跟踪HBase发展趋势,把HBase最新技术和本书相关补充资料及时发布到技术支持官网,方便读者通过网络及时获取到最新信息。由于笔者能力有限,书中难免存在不足之处,望广大读者能够提出宝贵意见。
大数据技术专家 陈岸青
2022年1月
目录
第1章 NoSQL数据库 1
1.1 分布式存储系统 1
1.1.1 分布式文件系统 1
1.1.2 GFS 2
1.1.3 BigTable介绍 3
1.2 NoSQL数据库 5
1.2.1 NoSQL概述 5
1.2.2 NoSQL相关的基本概念 7
1.2.3 NoSQL分类 9
1.2.4 为什么选择HBase 10
1.3 与其他数据库的区别 11
1.3.1 NoSQL数据库与SQL数据库的
区别 11
1.3.2 NoSQL数据库与NewSQL的
区别 12
1.4 习题 12
第2章 HBase体系架构 14
2.1 HBase的基本概念 14
2.1.1 HBase的基础概述 14
2.1.2 技术架构 14
2.1.3 系统架构 15
2.1.4 HBase读取过程 15
2.1.5 HBase与关系型数据库的区别 15
2.1.6 HBase与NewSQL的区别 16
2.1.7 HBase的应用场景 16
2.2 HBase的各个组件 17
2.2.1 HMaster 17
2.2.2 HBase Client 17
2.2.3 ZooKeeper 17
2.2.4 HRegionServer 17
2.2.5 存储单元Cell与数据写入流程 19
2.3 案例01:HBase安装部署与存储 20
2.3.1 案例背景 20
2.3.2 案例预备知识点 20
2.3.3 案例环境要求 20
2.3.4 任务一:安装和配置HBase 20
2.3.5 任务二:使用HBase操作用户
数据 25
2.3.6 任务三:使用HBase进行数据检索与数据存储 31
2.4 习题 35
第3章 HBase的接口 36
3.1 HBase接口的介绍 36
3.1.1 支持HBase API操作的相关组件 36
3.1.2 表Table和区域Region 37
3.1.3 Client 37
3.1.4 ZooKeeper 38
3.1.5 HMaster 38
3.2 HBase的API概述 39
3.3 HBase的常用Java API 40
3.4 案例02:HBase中Java API的使用 46
3.4.1 案例背景 46
3.4.2 案例预备知识点 46
3.4.3 案例环境要求 46
3.4.4 任务一:配置项目运行环境 46
3.4.5 任务二:数据添加 50
3.4.6 任务三:数据获取 51
3.4.7 任务四:数据删除 54
3.4.8 任务五:查询数据 56
3.5 习题 58
第4章 MapReduce与HBase 59
4.1 MapReduce介绍 59
4.1.1 什么是MapReduce 59
4.1.2 MapReduce的原理 60
4.1.3 MapReduce的特点 63
4.1.4 MapReduce应用场景 63
4.2 MapReduce和HBase的关系 63
4.2.1 MapReduce在HBase中的作用 63
4.2.2 HBase和MapReduce的联系和
区别 63
4.3 案例03:MapReduce与HBase实操 64
4.3.1 案例目标 64
4.3.2 案例预备知识点 64
4.3.3 案例环境要求 64
4.3.4 任务一:HBase架构深入剖析 64
4.3.5 任务二:HBase集成MapReduce 67
4.3.6 任务三:编写MapReduce集成HBase对表数据的操作 71
4.4 习题 75
第5章 HBase表设计 76
5.1 HBase表的设计 76
5.1.1 HBase表概述 76
5.1.2 HBase表详细设计 78
5.2 案例04:HBase创建表 79
5.2.1 案例目标 79
5.2.2 案例预备知识点 79
5.2.3 案例环境要求 80
5.2.4 案例实施步骤 80
5.3 案例05:HBase存储方式 82
5.3.1 案例目标 82
5.3.2 案例预备知识点 82
5.3.3 案例环境要求 82
5.3.4 案例实施步骤 82
5.4 案例06:HBase对表进行数据迁移 83
5.4.1 案例目标 83
5.4.2 案例预备知识点 83
5.4.3 案例环境要求 83
5.4.4 案例实施步骤 84
5.5 案例07:话单表分析 85
5.5.1 案例目标 85
5.5.2 案例预备知识点 86
5.5.3 案例环境要求 86
5.5.4 案例实施步骤 86
5.6 习题 92
第6章 HBase和Hive 94
6.1 企业级数据仓库Hive的介绍和HBase整合 94
6.1.1 Hive的历史 94
6.1.2 Hive简介 95
6.1.3 Hive技术架构 95
6.1.4 Hive编程 100
6.1.5 Hive的应用场景 102
6.1.6 Hive和HBase整合 103
6.2 案例08:HBase与Hive集成使用 105
6.2.1 案例目标 105
6.2.2 案例预备知识点 105
6.2.3 案例环境要求 106
6.2.4 任务一:HBase集成Hive的环境
配置 106
6.2.5 任务二:集成环境中使用Hive创建
和查询表 107
6.2.6 任务三:测试外部表集成
HBase 108
6.3 习题 109
第7章 HBase深入剖析 111
7.1 HBase性能优化和测试 111
7.1.1 HBase性能优化 111
7.1.2 客户端性能优化 113
7.1.3 HBase性能测试 114
7.2 案例09:对HBase表的深入剖析 116
7.2.1 案例目标 116
7.2.2 案例预备知识点 116
7.2.3 案例环境要求 116
7.2.4 任务一:HBase表属性和BlockCache配置 116
7.2.5 任务二:深入剖析HBase表的Compaction 119
7.3 案例10:HBase集群及表的管理 119
7.3.1 案例目标 119
7.3.2 案例预备知识点 119
7.3.3 案例环境要求 120
7.3.4 任务一:HBase Master的Web UI
管理 120
7.3.5 任务二:HBase的Shell管理 125
7.3.6 任务三:HBase的其他管理
操作 126
7.4 习题 128
第8章 HBase项目实战——论坛日志
分析 129
8.1 项目背景 129
8.2 项目设计目的 129
8.3 项目技术架构和组成 130
8.4 项目任务分解 130
8.4.1 任务一:在Linux中上传数据到
HDFS 130
8.4.2 任务二:使用MapReduce进行数据
清洗 132
8.4.3 任务三:在Linux上执行MR数据
清洗 135
8.4.4 任务四:使用Hive访问存放在
HDFS的数据 137
8.4.5 任务五:使用Kettle将数据存储到HBase 139
8.4.6 任务六:使用Sqoop导入Hive数据
到MySQL 142
8.4.7 任务七:使用ECharts实现可
视化 143
8.5 项目总结 149
正版购买
《分布式数据库HBase案例教程(大数据技术丛书)》(陈建平,陈岸青,李金湖)【摘要 书评 试读】- 京东图书 (jd.com)