HAWQ数据仓库与数据挖掘实战 - (EPUB全文下载)
文件大小:0.37 mb。
文件格式:epub 格式。
书籍内容:
HAWQ数据仓库与数据挖掘实战
第1章 ◄HAWQ概述►
第2章 ◄HAWQ安装部署►
第3章 ◄连接管理►
第4章 ◄数据库对象管理►
第5章 ◄分区表►
第6章 ◄存储管理►
第7章 ◄资源管理►
第8章 ◄数据管理►
第9章 ◄过程语言►
第10章 ◄查询优化►
第11章 ◄高可用性►
第二部分 HAWQ实战演练
第12章 ◄建立数据仓库示例模型►
第13章 ◄初始ETL►
第14章 ◄定期ETL►
第15章 ◄自动调度执行ETL作业►
第16章 ◄维度表技术►
第17章 ◄事实表技术►
第18章 ◄联机分析处理►
第三部分 HAWQ数据挖掘
第19章 ◄整合HAWQ与MADlib►
第20章 ◄奇异值分解►
第21章 ◄主成分分析►
第22章 ◄关联规则方法►
第23章 ◄聚类方法►
第24章 ◄回归方法►
第25章 ◄分类方法►
第26章 ◄图算法►
第27章 ◄模型验证►
第1章◄HAWQ概述►
HAWQ的全称为Hadoop With Query,即带查询的Hadoop,是一个出色的SQL-on-Hadoop解决方案,尤其适合构建Hadoop数据仓库。它最初由Pivotal公司开发,后来贡献给Apache社区,成为孵化器项目。本章是对HAWQ的一个概要介绍。首先对SQL-on-Hadoop的功能需求有个基本认识,然后以此作为参照,说明HAWQ的功能特性。为了更好地使用HAWQ,我们需要了解它的整体系统架构,以及各组件所起的作用。本章最后将阐述选择HAWQ的理由。
1.1 SQL-on-Hadoop
过去几年里,许多企业和开发者已慢慢接受Hadoop生态系统,将它用作大数据分析堆栈的核心组件。尽管Hadoop生态系统的MapReduce组件是一个强大的典范,但随着时间的推移,MapReduce自身不再是连接存储在Hadoop生态系统中的数据的最简单途径。企业需要一种更简单的方式来访问要查询、分析甚至要执行深度挖掘的数据,以便发现存储在Hadoop中的所有数据的真正价值。SQL以其扎实的理论基础、简单的语法、丰富的语义得到广泛应用,在帮助各类用户发掘数据的商业价值领域具有很长历史。
Hadoop上的SQL支持一开始是Apache Hive,一种类似于SQL的查询引擎,它将有限的SQL方言编译到MapReduce中。Hive对MapReduce的完全依赖会导致严重的查询延迟,因此其主要适用场景是批处理模式。另外,尽管Hive对于SQL的支持是好的开端,但对SQL的有限支持意味着精通SQL的用户忙于企业级使用场景时将遇到严重的限制。它还暗示着庞大的基于标准SQL的工具生态系统无法利用Hive。值得庆幸的是,在为SQL-on-Hadoop提供更好的解决方案方面已取得长足进展。除Hive外,当前常见的框架已经有HAWQ、Impala、Presto、Spark SQL、Drill、Kylin等很多种。
1.1.1 对SQL-on-Hadoop的期待
表1-1显示了一流的SQL-on-Hadoop方案需要具有的功能以及这些功能给使用者带来的好处。从传统的意义上说,这些功能中的大部分在分析型数据仓库中都能找到。
表1-1 一流SQL-on-Hadoop方案应有功能及带来的业务好处
1.1.2 SQL-on-Hadoop的实现方式
1.Hive
Hive建立在Hadoop的分布式文件系统(HDFS)和MapReduce之上。为了缩小Hive与传统SQL引擎之间的性能落差,现在已经可以通过MapReduce、Spark或Tez等多种计算框架执行查询。Hive提供一种称为HiveQL的语言,允许用户进行类似于SQL的查询。Hive的体系结构如图1-1所示。
图1-1 Hive体系结构
2.Spark SQL
Spark SQL是Spark处理结构化数据的程序模块。它将SQL查询与Spark程序无缝集成,可以将结构化数据作为Spark的RDD进行查询。RDD的全称为Resilient Distributed Datasets,即弹性分布式数据集,是Spark基本的数据结构。Spark使用RDD作为分布式程序的工作集合,提供一种分布式共享内存的受限形式。RDD是只读的,对其只能进行创建、转化和求值等操作。Spark SQL的体系结构如图1-2所示。
图1-2 Spark SQL体系结构
Dataset是一个分布式的数据集合。Dataset API是Spark 1.6中新增的编程接口,利用Spark SQL执行引擎优化器提供RDD的功能。Dataset可以从JVM对象中构建,然后使用map、flatMap、filter等方法进行转换。DataFrame是被组织为命名列的Dataset,其概念与关系数据库中的表类似,但底层结构更加优化。DataFrame可以从结构化的数据文件、Hive表、外部数据库或者已有的RDD中构建。
3.Impala
Impala是一个运行在Hadoop上的大规模并行处理(Massively Parallel Processing, MPP)查询引擎,提供对Hadoop集群数据的高性能、低延迟的SQL查询,使用HDFS作为底层存储。对查询的快速响应使交互式查询和对分析查询的调优成为可能,而这些在针对处理长时间批处理作业的SQL-on-Hadoop传统技术上是难以完成的。Impala可与Hive共享数据库表,并且Impala与HiveQL的语法兼容。
Impala体系结构如图1-3所示。Impala服务器由不同的守护进程组成,每种守护进程运行在Hadoop集群中的特定主机上。其中,Impalad、Statestored、Catalogd三个守护进程在其架构中扮演主要角色。
图1-3 Impala体系结构
4.HAWQ
HAWQ引擎利用Greenplum数据仓库的代码基础和深度数据管理专业知识构建,在HDFS中存储底层数据。HAWQ使用业内唯一一款专为HDFS量身打造的、基于成本的查询优化框架来增强其性能。 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » HAWQ数据仓库与数据挖掘实战 - (EPUB全文下载)