apache hawq

article/2025/9/18 20:28:37

为什么80%的码农都做不了架构师?>>>   hot3.png

资料地址:

导航页

What is HAWQ?

HAWQ Architecture

    How HAWQ Manages Resources

     Understanding the Fault Tolerance Service

Table Distribution and Storage  

    Choosing the Table Distribution Policy

    Using PXF with Unmanaged Data

    XF External Tables and API.

High Availability, Redundancy and Fault Tolerance

 

In a typical HAWQ deployment, each slave node has one physical HAWQ segment, an HDFS DataNode and a NodeManager installed. Masters for HAWQ, HDFS and YARN are hosted on separate nodes.

nodemanager、hawq.segment、datanode 在同一台机器上

yarn.resourcemanager、hawq.master、namenode分别部署在不同的机器上。

hawq会缓存从yarn获取的container,在内部使用自己的资源管理器管理这些资源。

hawq中的软件组件:

HAWQ Master:

master是hawq系统的入口,接受客户端的连接,并负责sql语句的分析、优化、分配到segment、协调运行并为客户端呈现最终的执行结果。可以通过psql客户端或者jdbc、odbc连接到master,也是global system catalog的所在地。

global system catalog:    

the global system catalog is the set of system tables that contain metadata about the HAWQ system itself.

master不包含任何用户数据,用户数据是存储在hdfs上的。

The master authenticates client connections, processes incoming SQL commands, distributes workload among segments, coordinates the results returned by each segment, and presents the final results to the client program.

HAWQ Segment:

并行处理数据的单元,一台机器上只有一个,可以为一个查询片段启动多个Query Executors (QEs) 。就好像一台机器上有多个虚拟的segment一样,这样可以更好的管理可用的资源。

virtual segment:

A virtual segment behaves like a container for QEs. Each virtual segment has one QE for each slice of a query. The number of virtual segments used determines the degree of parallelism (DOP) of a query.

segment与master的不同:

  • Is stateless. (无状态的)
  • Does not store the metadata for each database and table.(不存储数据库和表的元数据)
  • Does not store data on the local file system.(不在本地文件系统上保存数据)

master把相关的元数据信息和sql请求一起发送给segment,元数据中包含表中数据在hdfs上的url,segment通过该url访问对应的数据。

HAWQ Interconnect 连接器

hawq的网络层,当用户连接到数据库并提交一个查询后,系统在没一个segment节点上启动一系列进程来处理这个查询。interconnect 用于在segment之间交换数据,也负责和具体的网络设备通信。

默认情况下interconnect使用udp协议,但是hawq在udp之外做了一些包校验的功能。这意味着通信的可靠性与tcp相当,但是性能和伸缩性超过了tcp。如果使用tcp协议的话,hawq系统不能超过1000个segment节点,默认使用udp协议情况下, 则没有这个限制。

HAWQ Resource Manager 资源管理

hawq会缓存从yarn获取到的资源,以实现尽可能低的查询延迟。也可以配置成standalone模式,这中情况下hawq自己管理资源,而不通过yarn。

See How HAWQ Manages Resources for more details on HAWQ resource management.

HAWQ Catalog Service 元数据服务

The HAWQ catalog service stores all metadata, such as UDF/UDT information, relation information, security information and data file locations.

HAWQ Fault Tolerance Service 容错服务

The HAWQ fault tolerance service (FTS) is responsible for detecting segment failures and accepting heartbeats from segments.

See Understanding the Fault Tolerance Service for more information on this service.

HAWQ Dispatcher 查询分发器

dispatcher负责把执行计划分配给一部分segment,并协调它们的执行。dispatcher和resourcemanager是动态调度查询和资源的主要组件。

Table Distribution and Storage:

除了系统表,hawq在hdfs上保存表中的数据,当用户创建一个表时,表的元数据信息保存到master节点所在机器的本地文件系统,对应的数据保存到hdfs中。为了方便数据的管理,一个表相关的数据存储在hdfs中的一个目录下。

hawq的表存储格式, AO (Append-Only) and Parquet,数据文件是可分割的,这样hawq可以使用多个虚拟segment并行的处理一个数据文件,这样增强了查询的并行性。

Table Distribution Policy 表数据的分布策略

默认的策略是随机分布。

相比mpp系统通过hash来分布表中的数据,使用随机分布有一些好处:当集群扩张的时候,hawq可以使用更多的资源,但不需要重新分布数据。当表非常大的时候,重新分布数据代价是非常昂贵的。在使用hdfs重新分布数据时(HDFS redistributes ebalance ),随机分布的数据本地性和datanode出错的容错性,都要好过hash分布,在集群很大的时候,这是非常常见的。

另一方面,对某些查询来说,hash分布的性能好与随机分布,比如一些TPC-H类型的查询。用户应该根据使用场景,选择合适的分配策略。

See Choosing the Table Distribution Policy for more details.

Data Locality 数据本地性

HAWQ considers three aspects when allocating data blocks to virtual segments:

  • Ratio of local read  本地读取的速率
  • Continuity of file read  文件连续读取时的性能
  • Data balance among virtual segments   虚拟segment之间的数据balance

External Data Access :在外部访问数据

HAWQ can access data in external files using the HAWQ Extension Framework (PXF). PXF is an extensible framework that allows HAWQ to access data in external sources as readable or writable HAWQ tables. PXF has built-in connectors for accessing data inside HDFS files, Hive tables, and HBase tables. PXF also integrates with HCatalog to query Hive tables directly. See Using PXF with Unmanaged Data for more details.

Users can create custom PXF connectors to access other parallel data stores or processing engines. Connectors are Java plug-ins that use the PXF API. For more information see PXF External Tables and API.

Physical Segments and Virtual Segments

In HAWQ, only one physical segment needs to be installed on one host, in which multiple virtual segments can be started to run queries. HAWQ allocates multiple virtual segments distributed across different hosts on demand to run one query. Virtual segments are carriers (containers) for resources such as memory and CPU. Queries are executed by query executors in virtual segments.

Note: In this documentation, when we refer to segment by itself, we mean a physical segment.

Virtual Segment Allocation Policy

Different number of virtual segments are allocated based on virtual segment allocation policies. The following factors determine the number of virtual segments that are used for a query:

  • Resources available at the query running time  查询运行时,系统中可用资源数量
  • The cost of the query  查询的资源花费
  • The distribution of the table; in other words, randomly distributed tables and hash distributed tables  数据表的分布方式
  • Whether the query involves UDFs and external tables 使用使用了udf和外部表
  • Specific server configuration parameters, such as default_hash_table_bucket_number for hash table queries and hawq_rm_nvseg_perquery_limit

HDFS Catalog Cache

master用来缓存从namenode获取的数据位置信息,加速hdfs的rpc处理速度。

HDFS catalog cache is a caching service used by HAWQ master to determine the distribution information of table data on HDFS.

HDFS is slow at RPC handling, especially when the number of concurrent requests is high. In order to decide which segments handle which part of data, HAWQ needs data location information from HDFS NameNodes. HDFS catalog cache is used to cache the data location information and accelerate HDFS RPCs.

HAWQ Management Tools

使用hawq命令,该命令可以单独初始化、启动、停止单个segment,并且支持集群动态扩展。

HAWQ management tools are consolidated into one hawq command.

The hawq command can init, start and stop each segment separately, and supports dynamic expansion of the cluster.

转载于:https://my.oschina.net/sskxyz/blog/823838


http://chatgpt.dhexx.cn/article/Womyy1hx.shtml

相关文章

HAWQ技术解析(一) —— HAWQ简介

一、SQL on Hadoop 过去五年里,许多企业已慢慢开始接受Hadoop生态系统,将它用作其大数据分析堆栈的核心组件。尽管Hadoop生态系统的MapReduce组件是一个强大的典范,但随着时间的推移,MapReduce自身并不是连接存储在Hadoop生态系统…

《HAWQ-V3: Dyadic Neural Network Quantization》论文阅读

HAWQ-V3阅读笔记 Abstract 混合精度量化,integer-only, Methodology 只采用均匀量化 权重对称量化,激活非对称量化,对量化步长S采用静态量化,采用per-channel的量化方式 3.1量化矩阵的乘法与卷积(核心…

HAWQ手动安装

HAWQ手动安装及使用手册 1 HAWQ简介 HAWQ 是 Pivotal 设计的一个大规模并行 SQL 分析处理引擎,支持事务处理。HAWQ 将复杂的查询分割成简单的任何,并分发到并行处理系统中的处理单元执行。包括查询规划器、动态管道、前沿互联和查询执行优化器等等。提…

HAWQ上安装PXF插件,并访问HDFS文件数据

1、说明 HAWQ在github上的地址为:https://github.com/apache/hawq 在安装pxf插件之前,可以先查看一下基础软件对应的版本信息:在hawq目录下的pxf/gradle.properties文件中 因我在安装pxf之前,已经把hadoop及hawq安装完&#xff…

HAWQ技术解析(五) —— 连接管理

服务器启动后,还要经过一系列配置,才能被客户端程序所连接。本篇说明如何配置客户端身份认证,HAWQ的权限管理机制,HAWQ最常用的命令行客户端工具psql及与mysql命令行常用命令类比,最后还将列举一些客户端连接HAWQ数据库…

HAWQ-V3: Dyadic Neural Network Quantization论文学习

论文链接 https://arxiv.org/abs/2011.10680 摘要 目前的低精度量化算法往往具有从浮点值到量化整数值的来回转换的隐藏代价。这种隐藏的成本限制了通过量化神经网络所实现的延迟改进。为了解决这个问题,我们提出了HAWQ-V3,一个新的混合精度纯整数量化框…

HAWQ取代传统数仓实践(一)——为什么选择HAWQ

一、HAWQ取代传统数仓实践(一)——为什么选择HAWQ 为了跟上所谓“大数据”技术的脚步,从两年前开始着手实践各种SQL-on-Hadoop技术,从最初的Hive,到SparkSQL,再到Impala,进行了一系列ETL、CDC、…

在centos 7.3上进行Apache HAWQ集群安装部署

一、前期准备工作 1、准备三台物理机,master(192.168.251.8),dataserver1(192.168.251.9),dataserver2(192.168.251.10); 2、目前最新版本是2.4.0, 官网下载地址&…

HAWQ

为了跟上所谓“大数据”技术的脚步,从两年前开始着手实践各种SQL-on-Hadoop技术,从最初的Hive,到SparkSQL,再到Impala,进行了一系列ETL、CDC、多维数据仓库、OLAP的实验。作为一名从业20年以上的DBA,从数据…

HAWQ技术解析(三) —— 基本架构

HAWQ是一个Hadoop原生的SQL查询引擎,它结合了MPP数据库的关键技术和Hadoop的可扩展性。HAWQ在原生的HDFS上读写数据,MPP架构使HAWQ表现出超越其它SQL on Hadoop解决方案的查询性能,Hadoop又为HAWQ提供了传统数据库所不具备的线性扩展能力。 一…

HAWQ技术解析(十三) —— 资源管理

一、HAWQ如何管理资源 HAWQ使用多种机制管理CPU、内存、I/O、文件句柄等系统资源,包括全局资源管理、资源队列、强制资源使用限额等。 1. 全局资源管理 Hadoop通常使用YARN全局管理资源。YARN是一个通用的资源管理框架,为MapReduce作业或其…

HAWQ个人学习笔记(一)——HAWQ介绍

一、什么是HAWQ? HAWQ是Hadoop原生SQL查询引擎,针对分析性的应用。它具有大规模并行处理很多传统数据库以及其他数据库没有的特性及功能,结合了MMP数据库的关键技术优势和Hadoop的可扩展性和便利性。读写依赖于HDFS。 注:Hadoop…

全面讲解光纤、光模块、光纤交换机、光模块组网设计与案例

光纤组网已是当今建筑智能化弱电行业里一种常见的组网方式,组建远距离无线、监控网络时,往往需要使用光纤进行连接通信,使用光纤收发器是经济适用型做法,尤其是在室外的使用。其实光纤收发器不仅可以成对使用,还可以配…

400G光模块的相关知识

现在的高速光模块市场慢慢从100G向400G转移,未来400G必定是主流的高速光模块,目前这个阶段占领主流的还是100G,之前100G的相关知识已经讲述过了,400G与100G的传输速率由各种因素导致,我们讲讲400G与100G的信号传输。 4…

QSFP28-100G-LR4光模块有什么特点及优势?

100G以太网的迅速发展给100G光模块带来了巨大的市场需求,在众多100G光模块中,QSFP28光模块以其较小的尺寸和低功耗的特点成为最受欢迎的光模块。下面易天光通信(ETU-LINK)将从定义,工作原理,应用场景和常见…

DWDM光模块和CWDM光模块的区别

DWDM光模块和CWDM光模块的区别 近年来波分复用(WDM)技术受到网络用户的热烈欢迎,这是一种在单根光纤上复用不同波长激光的多个光载波信号的技术。下文将由亿创飞宇光通信重点介绍CWDM SFP光模块和DWDM SFP光模块。 DWDM光模块是什么?DWDM光模块有哪些主要优势? DWDM光模…

SC接口光模块相关知识

什么是SC接口光模块? SC接口光模块即接口类型为SC的光模块,必须搭配SC接口的跳线才能正常使用。SC光模块的接口的紧固方式是采用插拔销闩式,不须旋转,使用很方便。 SC光模块的分类 SC光模块相比LC光模块和MPO光模块…

全面解析光模块的应用场景

光模块主要应用于数据通信领域,它的功能是实现光电信号的相互转化。因为大数据、区块链、云计算、物联网、人工智能、5G的兴起,使得数据流量迅猛增长,数据中心以及移动通信的光互连成为了光通信行业的研究热点。接下来,易天光通信…

单波100G光模块与4路100G光模块相比,优势有哪些?

目前市场上大多数的100G光模块都是采用4路25Gb/s并行或者波分复用进行传输的,比如100G SR4、100G PSM4、100G LR4、100G CWDM4光模块等,为了降低成本以及更好的传输效率,业界提出了100G single-lambda规范,这个规范是指使用PAM4光…

光模块-寿命分析

光模块结构分类基本指标光模块的使用寿命光模块的三种失效率预计方法基本概念失效率预计 可靠性分析可靠性试验加速寿命试验方法阿伦尼兹(Arrhenius)模型逆幂律模型单应力的艾林(Eyring)模型 光模块加速寿命试验分析方法研究 光模块 光模块是进行光电和电光转换的光电子器件。…