×
HAWQ数据仓库与数据挖掘实战

HAWQ数据仓库与数据挖掘实战

1星价 ¥48.0 (4.9折)
2星价¥48.0 定价¥98.0

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787302498025
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:578
  • 出版时间:2018-04-01
  • 条形码:9787302498025 ; 978-7-302-49802-5

本书特色

HAWQ安装、连接、对象与资源管理、查询优化、备份恢复、高可用性、运维监控 ETL处理、自动调度系统、维度表与事实表技术、OLAP与数据的图形化表示 降维、协同过滤、关联规则、回归、聚类、分类等常见数据挖掘与机器学习方法

内容简介

Apache HAWQ是一个SQL-on-Hadoop产品,它很好适合用于Hadoop平台上快速构建数据仓库系统。HAWQ具有大规模并行处理、完善的SQL兼容性、支持存储过程和事务、出色的性能表现等特性,还可与开源数据挖掘库MADlib轻松整合,从而使用SQL就能进行数据挖掘与机器学习。《HAWQ数据仓库与数据挖掘实战》内容分技术解析、实战演练与数据挖掘三个部分共27章。技术解析部分说明HAWQ的基础架构与功能特性,包括安装、连接、对象与资源管理、查询优化、备份恢复、高可用性等。实战演练部分用一个完整的示例,说明如何使用HAWQ取代传统数据仓库,包括ETL处理、自动调度系统、维度表与事实表技术、OLAP与数据的图形化表示等。数据挖掘部分用实例说明HAWQ与MADlib整合,实现降维、协同过滤、关联规则、回归、聚类、分类等常见数据挖掘与机器学习方法。《HAWQ数据仓库与数据挖掘实战》适合数据库管理员、大数据技术人员、Hadoop技术人员、数据仓库技术人员,也适合高等院校和培训机构相关专业的师生教学参考。

目录

目 录 **部分 HAWQ技术解析 第1章 HAWQ概述 3 1.1 SQL-on-Hadoop 3 1.1.1 对SQL-on-Hadoop的期待 3 1.1.2 SQL-on-Hadoop的实现方式 4 1.2 HAWQ简介 6 1.2.1 历史与现状 7 1.2.2 功能特性 7 1.3 HAWQ系统架构 9 1.3.1 系统架构 10 1.3.2 内部架构 11 1.4 为什么选择HAWQ 12 1.4.1 常用SQL-on-Hadoop产品的不足 12 1.4.2 HAWQ的可行性 13 1.4.3 适合DBA的解决方案 18 1.5 小结 18 第2章 HAWQ安装部署 19 2.1 安装规划 19 2.1.1 选择安装介质 19 2.1.2 选择HAWQ版本 20 2.1.3 确认Ambari与HDP的版本兼容性 20 2.2 安装前准备 21 2.2.1 确认*小系统需求 21 2.2.2 准备系统安装环境 22 2.2.3 建立本地Repository 24 2.3 安装Ambari 25 2.4 安装HDP集群 27 2.5 安装HAWQ 29 2.6 启动与停止HAWQ 34 2.6.1 基本概念 34 2.6.2 操作环境 34 2.6.3 基本操作 36 2.7 小结 40 第3章 连接管理 41 3.1 配置客户端身份认证 41 3.2 管理角色与权限 45 3.2.1 HAWQ中的角色与权限 45 3.2.2 管理角色及其成员 46 3.2.3 管理对象权限 48 3.2.4 口令加密 49 3.3 psql连接HAWQ 50 3.4 Kettle连接HAWQ 52 3.5 连接常见问题 55 3.6 小结 56 第4章 数据库对象管理 57 4.1 创建和管理数据库 57 4.2 创建和管理表空间 61 4.3 创建和管理模式 65 4.4 创建和管理表 72 4.4.1 创建表 72 4.4.2 删除表 74 4.4.3 查看表对应的HDFS文件 74 4.5 创建和管理视图 76 4.6 管理其他对象 77 4.7 小结 78 第5章 分区表 79 5.1 HAWQ中的分区表 79 5.2 确定分区策略 80 5.3 创建分区表 81 5.3.1 范围分区与列表分区 81 5.3.2 多级分区 86 5.3.3 对已存在的非分区表进行分区 86 5.4 分区消除 87 5.5 分区表维护 91 5.6 小结 98 第6章 存储管理 99 6.1 数据存储选项 99 6.2 数据分布策略 103 6.2.1 数据分布策略概述 103 6.2.2 选择数据分布策略 104 6.2.3 数据分布用法 108 6.3 从已有的表创建新表 111 6.4 小结 117 第7章 资源管理 118 7.1 HAWQ资源管理概述 118 7.1.1 全局资源管理 118 7.1.2 HAWQ资源队列 119 7.1.3 资源管理器配置原则 119 7.2 配置独立资源管理器 120 7.3 整合YARN 123 7.4 管理资源队列 129 7.5 查询资源管理器状态 134 7.6 小结 137 第8章 数据管理 138 8.1 基本数据操作 138 8.2 数据装载与卸载 141 8.2.1 gpfdist协议及其外部表 141 8.2.2 基于Web的外部表 148 8.2.3 使用外部表装载数据 151 8.2.4 外部表错误处理 151 8.2.5 使用hawq load装载数据 152 8.2.6 使用COPY复制数据 155 8.2.7 卸载数据 157 8.2.8 hawq register 159 8.2.9 格式化数据文件 159 8.3 数据库统计 163 8.3.1 系统统计 163 8.3.2 统计配置 166 8.4 PXF 168 8.4.1 安装配置PXF 168 8.4.2 PXF profile 168 8.4.3 访问HDFS文件 170 8.4.4 访问Hive数据 174 8.4.5 访问JSON数据 186 8.4.6 向HDFS中写入数据 190 8.5 小结 194 第9章 过程语言 195 9.1 HAWQ内建SQL语言 195 9.2 PL/pgSQL函数 197 9.3 给HAWQ内部函数起别名 198 9.4 表函数 198 9.5 参数个数可变的函数 201 9.6 多态类型 202 9.7 UDF管理 205 9.8 UDF实例——递归树形遍历 207 9.9 小结 214 第10章 查询优化 215 10.1 HAWQ的查询处理流程 215 10.2 GPORCA查询优化器 217 10.2.1 GPORCA的改进 218 10.2.2 启用GPORCA 224 10.2.3 使用GPORCA需要考虑的问题 225 10.2.4 GPORCA的限制 227 10.3 性能优化 228 10.4 查询剖析 232 10.5 小结 238 第11章 高可用性 239 11.1 备份与恢复 239 11.1.1 备份方法 239 11.1.2 备份与恢复示例 242 11.2 高可用性 247 11.2.1 HAWQ高可用简介 247 11.2.2 Master节点镜像 248 11.2.3 HAWQ文件空间与HDFS高可用 251 11.2.4 HAWQ容错服务 260 11.3 小结 262 第二部分 HAWQ实战演练 第12章 建立数据仓库示例模型 265 12.1 业务场景 265 12.2 数据仓库架构 267 12.3 实验环境 268 12.4 HAWQ相关配置 269 12.5 创建示例数据库 273 12.5.1 在hdp4上的MySQL中创建源库对象并生成测试数据 273 12.5.2 创建目标库对象 275 12.5.3 装载日期维度数据 283 12.6 小结 284 第13章 初始ETL 285 13.1 用Sqoop初始数据抽取 285 13.1.1 覆盖导入 286 13.1.2 增量导入 286 13.1.3 建立初始抽取脚本 287 13.2 向HAWQ初始装载数据 288 13.2.1 数据源映射 288 13.2.2 确定SCD处理方法 288 13.2.3 实现代理键 289 13.2.4 建立初始装载脚本 289 13.3 建立初始ETL脚本 291 13.4 小结 293 第14章 定期ETL 294 14.1 变化数据捕获 294 14.2 创建维度表版本视图 296 14.3 创建时间戳表 297 14.4 用Sqoop定期数据抽取 298 14.5 建立定期装载HAWQ函数 298 14.6 建立定期ETL脚本 303 14.7 测试 303 14.7.1 准备测试数据 303 14.7.2 执行定期ETL脚本 304 14.7.3 确认ETL过程正确执行 305 14.8 动态分区滚动 307 14.9 准实时数据抽取 309 14.10 小结 317 第15章 自动调度执行ETL作业 318 15.1 Oozie简介 318 15.2 建立工作流前的准备 320 15.3 用Oozie建立定期ETL工作流 324 15.4 Falcon简介 328 15.5 用Falcon process调度Oozie工作流 329 15.6 小结 332 第16章 维度表技术 333 16.1 增加列 333 16.2 维度子集 342 16.3 角色扮演维度 348 16.4 层次维度 354 16.4.1 固定深度的层次 355 16.4.2 多路径层次 357 16.4.3 参差不齐的层次 359 16.5 退化维度 361 16.6 杂项维度 366 16.7 维度合并 374 16.8 分段维度 380 16.9 小结 386 第17章 事实表技术 387 17.1 周期快照 388 17.2 累积快照 394 17.3 无事实的事实表 404 17.4 迟到的事实 409 17.5 累积度量 416 17.6 小结 422 第18章 联机分析处理 423 18.1 联机分析处理简介 423 18.1.1 概念 423 18.1.2 分类 424 18.1.3 性能 426 18.2 联机分析处理实例 427 18.2.1 销售订单 427 18.2.2 行列转置 433 18.3 交互查询与图形化显示 440 18.3.1 Zeppelin简介 440 18.3.2 使用Zeppelin执行HAWQ查询 441 18.4 小结 448 第三部分 HAWQ数据挖掘 第19章 整合HAWQ与MADlib 451 19.1 MADlib简介 452 19.2 安装与卸载MADlib 455 19.3 MADlib基础 458 19.3.1 向量 458 19.3.2 矩阵 469 19.4 小结 484 第20章 奇异值分解 485 20.1 奇异值分解简介 485 20.2 MADlib奇异值分解函数 486 20.3 奇异值分解实现推荐算法 489 20.4 小结 501 第21章 主成分分析 502 21.1 主成分分析简介 502 21.2 MADlib的PCA相关函数 504 21.3 PCA应用示例 509 21.4 小结 513 第22章 关联规则方法 514 22.1 关联规则简介 514 22.2 Apriori算法 517 22.2.1 Apriori算法基本思想 517 22.2.2 Apriori算法步骤 518 22.3 MADlib的Apriori算法函数 518 22.4 Apriori应用示例 519 22.5 小结 524 第23章 聚类方法 525 23.1 聚类方法简介 525 23.2 k-means方法 526 23.2.1 基本思想 527 23.2.2 原理与步骤 527 23.2.3 k-means算法 527 23.3 MADlib的k-means相关函数 529 23.4 k-means应用示例 532 23.5 小结 537 第24章 回归方法 538 24.1 回归方法简介 538 24.2 Logistic回归 539 24.3 MADlib的Logistic回归相关函数 539 24.4 Logistic回归示例 542 24.5 小结 546 第25章 分类方法 547 25.1 分类方法简介 547 25.2 决策树 549 25.2.1 决策树的基本概念 549 25.2.2 决策树的构建步骤 549 25.3 MADlib的决策树相关函数 551 25.4 决策树示例 555 25.5 小结 561 第26章 图算法 562 26.1 图算法简介 562 26.2 单源*短路径 565 26.3 MADlib的单源*短路径相关函数 566 26.4 单源*短路径示例 567 26.5 小结 569 第27章 模型验证 570 27.1 交叉验证简介 570 27.2 MADlib的交叉验证相关函数 573 27.3 交叉验证示例 575 27.4 小结 578
展开全部

节选

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 存在如此多的局限,使它在可用性上大打折扣,实际使 用时要格外注意。

作者简介

王雪迎 ,王雪迎 ,毕业于中国地质大学计算机专业,高级工程师,从事数据库、数据仓库相关技术工作20年。先后供职于北京现代商业信息技术有限公司、北京在线九州信息技术服务有限公司、华北计算技术研究所、北京优贝在线网络科技有限公司,担任DBA、数据架构师等职位。著有图书《Hadoop数据仓库实践》。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航