首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

HAWQ使企业能够获益于经过锤炼的基于MPP的分析功能及其查询性能,同时利用Hadoop堆栈。HAWQ可与其它传统的SQL on Hadoop引擎(如图1所示)共存于一个分析堆栈。...HAWQ 1.0 Alpha(2012):多个国外大型客户试用,当时客户性能测试是Hive的数百倍。促进了HAWQ 1.0作为正式产品发布。 3....三、HAWQ基本介绍 HAWQ是一个Hadoop原生大规模并行SQL分析引擎,针对的是分析性应用。和其他关系型数据库类似,接受SQL,返回结果集。...这些性能改进主要归功于Dynamic pipelining和HAWQ内基于成本的查询优化器的强大功能。这使HAWQ能够帮助企业以显著降低的成本摆脱企业数据仓库工作负载。 5....HAWQ的容错性、可靠性和高可用性三个特点能容忍磁盘级与节点级故障。这些能力可确保业务的连续性,并且实现了将更多关键业务分析迁移到到HAWQ上运行。 8.

7.3K23
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    二、HAWQ的可行性         刚才介绍了几种SQL-on-Hadoop产品的主要问题,那么重点来了,HAWQ是否有能力取而代之呢?下面从功能与性能两方面,简单分析一下使用HAWQ的主要特点。...除了用于访问HDFS文件的PXF协议,HAWQ还提供了gpfdist文件服务器,它利用HAWQ系统并行读写本地文件系统中的文件。 2....对于习惯了编写存储过程的DBA来说,这无疑大大提高了HAWQ的易用性。HAWQ的UDF提供以下特性: 给HAWQ内部函数起别名。 返回结果集的表函数。 参数个数可变的函数。...HAWQ过程化编程实例参见用HAWQ轻松取代传统数据仓库(十) —— 过程语言。 四、HAWQ系统架构         图4是给出了一个典型的HAWQ集群的主要组件。图5是HAWQ内部架构图。...关于HAWQ的系统架构说明,参见解密Apache HAWQ ——功能强大的SQL-on-Hadoop引擎。 ? 图4 ? 图5

    1.9K81

    HAWQ取代传统数仓实践(四)——定期ETL(Sqoop、HAWQ

    处理渐变维(SCD)         上一篇已经提到,HAWQ只有INSERT,没有UPDATE、DELETE操作,因此所有维度属性都使用SDC2记录全部历史变化。...使用HAWQ的DISTINCT ON语法去重。DISTINCT ON ( expression [, …] )把记录根据[, …]的值进行分组,分组之后仅返回每一组的第一行。.../bin/bash # 全量抽取客户表 sqoop import --connect jdbc:mysql://172.16.1.127:3306/source --username dwtest...准备测试数据         在MySQL数据库中执行下面的SQL脚本准备源数据库中的客户、产品和销售订单测试数据。...下面的HAWQ函数按照转储最老分区数据、删除最老分区数据、建立新分区的步骤动态滚动分区。

    2.2K101

    HAWQ技术解析(六) —— 定义对象

    一、创建和管理数据库         HAWQ中数据库的概念与MySQL类似,一个HAWQ实例中通常会建立多个数据库,这和Oracle中数据库的概念不同。...尽管可以在一个HAWQ系统中创建很多数据库,但是客户端程序在某一时刻只能连接到一个数据库,这也决定了HAWQ不能执行跨库的查询。 1....二、创建和管理表空间         很多数据库系统,如Oracle和MySQL等,都有表空间的概念。HAWQ的表存储在HDFS上,其表空间管理有自己的特点。...MySQL中的schema是database的同义词。而HAWQ中的模式是从PostgreSQL来的,其概念与SQLserver的模式更为类似,是数据库中的逻辑对象。        ...row)         可以看到,HAWQ在HDFS上的根目录/hawq_data。

    2.9K50

    HAWQ技术解析(四) —— 启动停止

    HAWQ服务器实际上是一个以HDFS作为物理存储的分布式数据库系统,像Oracle、MySQL等软件一样,是一个真正的数据库。...因此个人认为HAWQ更适合DBA转到Hadoop上。(当然,要是有个将MySQL移植到Hadoop上的产品就更好了。) 1. HAWQ用户         HAWQ支持对用户和操作权限的管理。...而作为数据库用户,gpadmin相当于Oracle的sys或MySQL的root,具有数据库的最大权限。...二、HAWQ操作环境         在操作HAWQ集群前,必须设置HAWQ所需的环境。 1....(工作文件的概念与MySQL的临时文件类似。查询执行过程中,如果不能在内存进行,则会在磁盘创建工作文件。)因此,不推荐使用immediate停止方式。

    1.5K100

    HAWQ技术解析(十八) —— 问题排查

    )         本章描述如何解决HAWQ系统中常见的错误和问题。...二、拒绝查询资源请求 问题:HAWQ资源管理器拒绝了查询的资源分配请求。 原因:出现以下情况时,HAWQ资源管理器拒绝查询的资源分配请求: 太多物理段不可用。...如果资源管理器确定未注册的或不可用的HAWQ物理段数量大于hawq_rm_rejectrequest_nseg_limit,那么资源管理器直接拒绝查询的资源请求。...当偏差大于hawq_rm_nvseg_variance_amon_seg_limit设置的值,HAWQ拒绝查询的资源分配请求。例如,一个查询引起2个物理段分派9个虚拟段。...这可能引起HAWQ的段获得相同的IP地址。资源管理器的容错服务组件只能识别具有相同IP地址的段中的一个。 解决方案:启动HAWQ集群前,修改网络配置,禁止IP地址相同。

    1.1K70

    HAWQ技术解析(十) —— 过程语言

    HAWQ支持用户自定义函数(user-defined functions,UDF),还支持给HAWQ内部的函数起别名。...其中除SQL和C是HAWQ的内建语言,其它语言通常被称为过程语言(PLs),支持过程语言编程是对HAWQ核心的功能性扩展。...对于习惯了编写存储过程的DBA来说,这无疑大大提高了HAWQ的易用性,冲这点也得给HAWQ点个赞。这里主要研究HAWQ内建的SQL语言函数和PL/pgSQL函数编程。...三、给HAWQ内部函数起别名         许多HAWQ的内部函数是用C语言编写的。这些函数是在HAWQ集群初始化时声明的,并静态连接到HAWQ服务器。...图25 参考: MySQL实现树的遍历 PostgreSQL 8.4: preserving order for hierarchical query PostgreSQL: function 返回结果集多列和单列的例子

    4.2K50

    HAWQ技术解析(十五) —— 备份恢复

    一、为什么还需要备份         HAWQ作为一个数据库管理系统,备份与恢复是其必备功能之一。HAWQ的用户数据存储在HDFS上,系统表存储在master节点主机本地。...而配置了HDFS NameNode HA与HAWQ master HA后,NameNode和master的单点故障问题也得到了解决。似乎HAWQ没有提供额外备份功能的必要。        ...HAWQ支持这些应用的主要目的是用于从PostgreSQL向HAWQ迁移数据。下面是一些pg_dump用法的简单示例。        ...三、备份与恢复示例 1. gpfdist示例         gpfdist是HAWQ的并行文件分发程序。hawq load应用程序操作gpfdist可读外部表,将外部表文件并行分发给HAWQ处理。...PXF示例         HAWQ Extension Framework (PXF)是一个允许HAWQ查询外部系统数据的扩展框架。

    2.1K90

    HAWQ技术解析(七) —— 存储分布

    HAWQ中创建一个表时,应该预先对数据如何分布、表的存储选项、数据导入导出方式和其它HAWQ特性做出选择,这些都将对数据库性能有极大影响。...再者,行典型的HAWQ系统中的表都很大,如果为每行赋予一个32位的计数器,不但占用空间,而且可能给HAWQ系统的目录表造成问题。最后,每行节省4字节存储空间也能带来一定的查询性能提升。 8....数据分布策略概述         所有的HAWQ表(除gpfdist外部表)都是分布存储在HDFS上的。HAWQ支持两种数据分布策略,随机与哈希。...在HAWQ的TPCH测试中,哈希分布表在很多查询上具有更好的性能。图1是HAWQ提供的一个数据分布性能对比图,其中CO表示列存储格式,AO表示行存储格式。 ?...除hawq_rm_nvseg_perquery_limit参数外,hawq_rm_nvseg_perquery_perseg_limit也控制执行一个查询使用的虚拟段数量。

    2K100

    HAWQ技术解析(十六) —— 运维监控

    1. hawq_toolkit模式         hawq_toolkit是HAWQ的一个管理模式,使用与下面类似的命令在模式的查询路径中增加hawq_toolkit模式: db1=# set role...2.1.1的hawq_toolkit中没有找到)         HAWQhawq_toolkit管理模式包含有关HAWQ工作文件信息的视图。...三、HAWQ日志文件管理         日志文件中包含HAWQ数据库和应用程序部署的相关信息。HAWQ的管理性日志文件保存在预定义或配置的HAWQ节点的本地文件系统上。...(5)配置HAWQ日志         可以使用HAWQ服务器日志参数配置HAWQ服务器对日志的操作。...例如,hawq restart调用hawq stop和hawq start。此时日志被写入到调用的两个应用的日志文件中。

    1.9K90

    HAWQ技术解析(十一) —— 数据管理

    product_no) select name, product_no from tmp_products where price < 100; (4)显式一次插入多行         这个SQL扩展与MySQL...其它操作         与Oracle、MySQL等常用数据库系统一样,HAWQ支持MVCC并发访问控制和非锁定读。...使用hawq load装载数据         HAWQhawq load应用程序使用可读外部表和HAWQ并行文件系统(gpfdist或gpfdists)装载数据。...(1)确认建立了运行hawq load的环境。         它需要依赖某些HAWQ安装中的文件,如gpfdist和Python,还需要通过网络访问所有HAWQ segment主机。...下面的例子使用hawq config命令行应用将统计目标从25改为50。 以HAWQ管理员(缺省为gpadmin)登录HAWQ的master主机并设置环境。

    2.1K50

    HAWQ技术解析(九) —— 外部数据

    由于HAWQ原生不支持这些类型,PXF将它们统一映射为text类型。可以创建HAWQ函数或使用应用程序抽取复杂数据类型子元素的数据。         下面是一些HAWQ访问Hive表的例子。 4....图2所示HAWQ如何使用HCatalog查询Hive表。 ? 图2 HAWQ使用PXF从HCatalog查询表的元数据。 HAWQ用查询到的元数据创建一个内存目录表。...PXF的分区过滤下推与MySQL的索引条件下推(Index Condition Pushdown,ICP)概念上类似,都是将过滤条件下推至更底层的存储上,以提高性能。        ...当所有Sacramento分区的数据传到HAWQ后,在HAWQ端执行item_name的过滤。         执行一个过滤下推的查询。...的数据类型映射         为了在HAWQ中表示JSON数据,需要将使用私有数据类型的JSON值映射为等价的HAWQ数据类型值。

    3.3K100
    领券