发表于2024-11-17
HAWQ安装、连接、对象与资源管理、查询优化、备份恢复、高可用性、运维监控
ETL处理、自动调度系统、维度表与事实表技术、OLAP与数据的图形化表示
降维、协同过滤、关联规则、回归、聚类、分类等常见数据挖掘与机器学习方法
Apache HAWQ是一个SQL-on-Hadoop产品,它非常适合用于Hadoop平台上快速构建数据仓库系统。HAWQ具有大规模并行处理、完善的SQL兼容性、支持存储过程和事务、出色的性能表现等特性,还可与开源数据挖掘库MADlib轻松整合,从而使用SQL就能进行数据挖掘与机器学习。
《HAWQ数据仓库与数据挖掘实战》内容分技术解析、实战演练与数据挖掘三个部分共27章。技术解析部分说明HAWQ的基础架构与功能特性,包括安装、连接、对象与资源管理、查询优化、备份恢复、高可用性等。实战演练部分用一个完整的示例,说明如何使用HAWQ取代传统数据仓库,包括ETL处理、自动调度系统、维度表与事实表技术、OLAP与数据的图形化表示等。数据挖掘部分用实例说明HAWQ与MADlib整合,实现降维、协同过滤、关联规则、回归、聚类、分类等常见数据挖掘与机器学习方法。
《HAWQ数据仓库与数据挖掘实战》适合数据库管理员、大数据技术人员、Hadoop技术人员、数据仓库技术人员,也适合高等院校和培训机构相关专业的师生教学参考。
王雪迎 ,王雪迎 ,毕业于中国地质大学计算机专业,高级工程师,从事数据库、数据仓库相关技术工作20年。先后供职于北京现代商业信息技术有限公司、北京在线九州信息技术服务有限公司、华北计算技术研究所、北京优贝在线网络科技有限公司,担任DBA、数据架构师等职位。著有图书《Hadoop数据仓库实践》。
1.4 为什么选择HAWQ
前面已经介绍了几种常用SQL-on-Hadoop 的实现方式,也了解了HAWQ的功能特性与系
统架构。那么站在用户的角度,我们为什么要选择HAWQ?近年来我尝试过几种
SQL-on-Hadoop 产品,从最初的Hive,到Spark SQL,再到Impala,在这些产品上进行了一系
列ETL、CDC、多维数据仓库、OLAP 实验。从数据库的角度看,这些产品与传统的DBMS
相比,功能不够完善,性能差距很大,甚至很难找到一个相对完备的Hadoop 数据仓库解决方
案。这里就以个人的实践体验来简述这些产品的不足以及HAWQ的可行性。
1.4.1 常用SQL-on-Hadoop产品的不足
1. Hive
Hive 是一款老牌的Hadoop 数据仓库产品,能够部署在所有Hadoop 发行版本上。它在
MapReduce 计算框架上封装一个SQL 语义层,极大简化了MR 程序的开发。直到现在,Hive
依然以其稳定性赢得了大量用户。
Hive 的缺点也很明显——速度太慢。随着技术的不断进步,Hive 的执行引擎从MapReduce
发展出Hive on Spark、Hive on Tez等。特别是运行在Tez 框架上的Hive,其性能有了很大改
进。即便如此,Hive 的速度还是比较适合后台批处理应用场景,而不适合交互式即时查询和
联机分析。
第1章 HAWQ 概述
2. Spark SQL
Spark SQL是Hadoop 中另一个著名的SQL 引擎,正如名字所表示的,它以Spark 作为底
层计算框架,实际上是一个Scala 程序语言的子集。Spark 基本的数据结构是RDD,一个分布
于集群节点的只读数据集合。传统的MapReduce 框架强制在分布式编程中使用一种特定的线
性数据流处理方式。MapReduce 程序从磁盘读取输入数据,把数据分解成键/值对,经过混洗、
排序、归并等数据处理后产生输出,并将最终结果保存在磁盘。Map 阶段和Reduce 阶段的结
果均要写磁盘,这大大降低了系统性能。也是由于这个原因,MapReduce 大都被用于执行批
处理任务。
为了解决MapReduce 的性能问题,Spark使用RDD 共享内存结构。这种内存操作减少了
磁盘IO,大大提高了计算速度。开发Spark 的初衷是用于机器学习系统的培训算法,而不是
SQL 查询。Spark 宣称其应用的延迟可以比MapReduce 降低几个数量级,但是在我们的实际
使用中,20TB 的数据集合上用Spark SQL 查询要10 分钟左右出结果,这个速度纵然是比Hive
快了4 倍,但显然不能支撑交互查询和OLAP应用。Spark 还有一个问题,即需要占用大量内
存,当内存不足时,很容易出现OOM错误。
3. Impala
Impala 的最大优势在于执行速度。官方宣称大多数情况下它能在几秒或几分钟内返回查
询结果,而相同的Hive 查询通常需要几十分钟甚至几小时完成,因此Impala 适合对Hadoop
文件系统上的数据进行分析式查询。Impala 默认使用Parquet 文件格式,这种列式存储方式对
于典型数据仓库场景下的大查询是较为高效的。
Impala 的问题主要体现在功能上的欠缺。例如,不支持Date 数据类型,不支持XML 和
JSON 相关函数,不支持covar_pop、covar_samp、corr、percentile、 percentile_approx、
histogram_numeric、collect_set 等聚合函数,不支持rollup、cube、grouping set 等操作,不支
持数据抽样(Sampling),不支持ORC 文件格式,等等。其中,分组聚合、取中位数等是数
据分析中的常用操作,当前的Impala 存在如此多的局限,使它在可用性上大打折扣,实际使
用时要格外注意。
前 言
从Bill Inmon在1991年提出数据仓库的概念,至今已有27的时间。在这期间人们所面对的数据,以及处理数据的方法都发生了翻天覆地的变化。随着互联网和移动终端等应用的普及,运行在单机或小型集群上的传统数据仓库不再能满足数据处理要求,以Hadoop及其生态圈组件为代表的新一代分布式大数据处理平台逐渐流行。
尽管大多数人都在讨论某种技术或者架构可能会胜过另一种,而我更倾向于从“Hadoop与数据仓库密切结合”这个角度来探讨问题。一方面企业级数据仓库中已经积累了大量的数据和应用程序,它们仍然在决策支持领域发挥着至关重要的作用;另一方面,传统数据仓库从业人员的技术水平和经验也在逐步提升。如何才能使积累的大量历史数据平滑过渡到Hadoop上,并让熟悉传统数据仓库的技术人员能够有效地利用已有的知识,可以在大数据处理平台上一展身手,才是一个亟待解决的问题。
虽然伴随着大数据的概念也出现了以MongoDB、Cassandra为代表的NoSQL产品,但不可否认,SQL仍然是数据库、数据仓库中常使用的开发语言,也是传统数据库工程师或DBA的必会语言,从它出现至今一直被广泛使用。首先,SQL有坚实的关系代数作为理论基础,经过几十年的积累,查询优化器也已经相当成熟。再者,对于开发者,SQL作为典型的非过程语言,其语法相对简单,但语义却相当丰富。据统计95%的数据分析问题都能用SQL解决,这是一个相当惊人的结论。那么SQL怎样才能与Hadoop等大数据技术结合起来,既能复用已有的技能,又能有效处理大规模数据呢?在这样的需求背景下,近年来涌现出越来越多的SQL-on-Hadoop软件,比如从早期的Hive到Spark SQL、Impala、Kylin等,本书所论述的就是众多SQL-on-Hadoop产品中的一员——HAWQ。
我最初了解到HAWQ是在BDTC 2016大会上,Apache HAWQ的创始人常雷博士介绍了该项目。他的演讲题目是“以HAWQ轻松取代传统数据仓库”,这正是我的兴趣所在。HAWQ支持事务、性能表现优良,关键是与SQL的兼容性非常好,甚至支持存储过程。对于传统数据仓库的开发人员,使用HAWQ转向大数据平台,学习成本应该是比较低的。我个人认为HAWQ更适合完成Hadoop上的数据仓库及其数据分析与挖掘工作。
本书内容
一年来,我一直在撰写HAWQ相关的文章和博客,并在利用HAWQ开发Hadoop数据仓库方面做了一些基础的技术实践,本书就是对这些工作的系统归纳与总结。全书分为技术解析、实战演练、数据挖掘三个部分,共27章。
技术解析部分说明HAWQ的基础架构与功能特性,包括安装部署、客户端与服务器连接、数据库对象与资源管理、查询优化、备份恢复、高可用性等。
实战演练部分通过一个简单而完整的示例,说明使用HAWQ设计和实现数据仓库的方法,包括初始和定期ETL处理、自动调度系统、维度表与事实表技术、联机分析处理与数据的图形化表示等。这部分旨在将传统数据仓库建模、SQL开发的简单性与大数据技术相结合,快速、高效地建立可扩展的数据仓库及其应用系统。
数据挖掘部分结合应用实例,讨论将HAWQ与MADlib整合,MADlib是一个开源机器学习库,提供了精确的数据并行实现、统计和机器学习方法,可以对结构化和非结构化数据进行分析。它的主要目的是可以非常方便地加载到数据库中,扩展数据库的分析功能。MADlib仅用SQL查询就能做简单的数据挖掘与机器学习,实现矩阵分解、降维、关联规则、回归、聚类、分类、图算法等常见数据挖掘方法。这也是HAWQ的一大亮点。
本书读者
本书适合数据库管理员、数据仓库技术人员、Hadoop或其他大数据技术人员,也适合高等院校和培训学校相关专业的师生教学参考。
代码、彩图下载
致谢
在本书编写过程中,得到了很多人的帮助与支持。感谢清华大学出版社图格事业部的老师和编辑们,他们的辛勤工作使得本书得以尽早与读者见面。感谢CSDN提供的技术分享平台,给我有一个将博客文章整理成书的机会。感谢我在优贝在线的所有同事,特别是技术部的同事们,他们在工作中的鼎力相助,使我有更多的时间投入到本书的写作中。感谢Apache HAWQ的创始人常雷先生在百忙之中为本书写推荐序。最后,感谢家人对我一如既往地支持。
因为水平有限,错漏之处在所难免,希望读者批评指正。
著 者
2018年1月
HAWQ数据仓库与数据挖掘实战 下载 mobi pdf epub txt 电子书 格式 2024
HAWQ数据仓库与数据挖掘实战 下载 mobi epub pdf 电子书HAWQ数据仓库与数据挖掘实战 mobi epub pdf txt 电子书 格式下载 2024