HAWQ技术总结

简介: HAWQ技术总结:1、 官网: http://hawq.incubator.apache.org/2、 特性2.1 sql支持完善ANSI SQL标准,OLAP扩展,标准JDBC/ODBC支持。

HAWQ技术总结:

1、 官网: http://hawq.incubator.apache.org/

2、 特性

2.1 sql支持完善

ANSI SQL标准,OLAP扩展,标准JDBC/ODBC支持。

2.2 具有MPP的性能。

2.3 支持外部数据整合。

      HAWQ能够访问HDFS上的Json文件、Hive、HBase等外部数据。

2.4 支持ACID事务。

  这是很多现有基于SqlonHadoop引擎无法做到的,能够好的保证数据一致性。

3、 优缺点:

优点:

  * sql支持度好:目前能支持SQL99,SQL2003标准

  * 支持事务。

  * 支持insert

缺点:

  * 基于GreenPlum实现,技术实现复杂,包含多个组件。比如对于外部数据源,需要通过PXF单独进行处理;

  * C++实现,对内存的控制比较复杂,如果出现segmentfault直接导致当前node挂掉。

  * 安装配置复杂;

4、 关键技术:

4.1 系统架构与关键组件

     

  HAWQ集群的主要组件。其中有几个Master节点:包括HAWQ master节点,HDFS master节点NameNode,YARN master节点ResourceManager。每个Slave节点上部署有HDFS DataNode,YARN NodeManager以及一个HAWQ Segment。HAWQ Segment在执行查询的时候会启动多个QE (Query Executor, 查询执行器)。

查询执行器运行在资源容器里。在这个架构下,节点可以动态的加入集群,并且不需要数据重分布。当一个节点加入集群时,它会向HAWQ++ Master节点发送心跳,然后就可以接收未来查询了。

     

  上图是HAWQ master节点内部架构图。可以看到在HAWQ的 Master节点内部有如下重要组件:查询解析器,优化器,资源代理,资源管理器,HDFS元数据缓存,容错服务,查询派遣器和元数据服务。在Slave节点上安装有一个物理Segment,在查询执行时,针对一个查询,弹性执行引擎会启动多个虚拟Segment同时执行查询,节点间数据交换通过Interconnect(高速互联网络,基于UDP)进行。如果一个查询启动了1000个虚拟Segment,意思是这个查询被均匀的分成了1000份任务,这些任务会并行执行。

  其中,资源管理器通过资源代理向全局资源管理器(比如YARN)动态申请资源,并缓存资源。在不需要的时候返回资源。缓存资源的主要原因是减少HAWQ与yarn之间的交互代价。因为HAWQ是支持ms级查询。如果每一个查询都向资源管理器申请资源的话,性能会受到影响。位置信息存储在HDFS NameNode上。如果每个查询都访问HDFS NameNode会造成NameNode的瓶颈。所以在HAWQ Master节点上建立了HDFS元数据缓存。查询派遣器则是在优化完查询以后,蒋计划派遣到各个节点上执行,并协调查询执行。

4.2  PXF扩展框架

HAWQ通过名为Pivotal eXtension Framework(PXF)的模块提供数据联合功能。除了常见的数据联合功能外,PXF还利用SQL on Hadoop提供可扩展的功能,PXF提供框架API 使得开发人员能够数据堆栈开发新的连接器,从而增强强数据引擎的松散耦合。

4.3  GPORCA查询优化器

在分区查询、子查询、去重聚合、insert上改进优化。

5、 Benchmark

完全支持TPC-DS.

     

图中所示的基准测试是通过TPC-DS中的99个模板生成的111个查询来执行的。图中显示了4种基于SQL-on-Hadoop常见系统的合规等级,绿色和蓝色分别表示:每个系统可以优化的查询个数;可以完成执行并返回查询结果的查询个数。从图中可以看到,HAWQ完成了所有查询

 

当神已无能为力,那便是魔渡众生
目录
相关文章
|
SQL 人工智能 分布式计算
一文看懂 Cloudera 对 CDH/HDP/CDP 的产品支持策略
一文看懂 Cloudera 对 CDH/HDP/CDP 的产品支持策略
一文看懂 Cloudera 对 CDH/HDP/CDP 的产品支持策略
|
Linux 开发工具 git
ambari集成alluxio服务
alluxio集成到ambari
382 0
|
存储 安全 Java
Dremio: 将 Minio 配置为分布式存储
Dremio: 将 Minio 配置为分布式存储
633 0
Dremio: 将 Minio 配置为分布式存储
|
存储 运维 Kubernetes
【OushuDB】Oushu Database和Apache HAWQ的不同
全新执行引擎,充分利用硬件的所有特性,比Apache HAWQ性能高出5-10倍支持Update和Delete,以及索引C++可插拔外部存储替换JAVA PXF,性能高数倍,无需安装部署PXF额外组件,极大简化了用户安装部署和运维原生支持CSV/TEXT外部存储可以用于不同集群之间共享数据,比如数据仓库和集市之间共享及传输数据可以用于高速数据加载和数据导出可以实现高速备份和恢复可以实现可插拔文件系统:比如S3, Ceph等可以实现可插拔文件格式:比如ORC,Parquet等支持ORC/TEXT/CSV作为内部表格式,支持ORC作为外部表格式 (通过C++可插拔外部存储)对PaaS/CaaS云平
297 0
【OushuDB】Oushu Database和Apache HAWQ的不同
|
存储 druid 数据可视化
大数据平台CDH与HDP对比
CDH & HDP平台对比
14162 1
|
分布式计算 资源调度 大数据
Hadoop手把手逐级搭建(4) Hadoop高可用+联邦+视图文件系统(HA+Federation+ViewFs)
步骤概述 1). 为高可用保存hadoop配置 2). 增加federation配置 3). 首次启动HA+Federation集群part1:启动journalnode和zookeeper,格式化zookeeper集群 4).
4447 0
|
API 数据安全/隐私保护 Hbase
Dremio与Drill的对比
1.简述 Dremio与Drill简述 2.区别 a).数据源支持 使用最新版本Dremio 3.3.1和Drill 1.16.0Dremio3.1.3版本开始不支持HBase,将来会开源社区版HBase连接器 b).
2998 0