DLA Presto支持大查询

简介: DLA Presto独享版推出大查询功能,能让相同规格的虚拟集群,分析的数据量提升十倍。

背景介绍

阿里云数据湖分析(DLA)产品提供一站式的数据湖分析与计算服务。DLA Presto可以实现高效的在线分析,主要面向用户探索式分析、报表以及轻量ETL的场景,支持OSS、RDS、AnalyticsDB、MaxCompute、TableStore、ElasticSearch等多种数据源。


DLA Presto的独享的虚拟集群中,当Query的数据量比较大,容易报内存超过限制的错误。但许多时候,用户某些Query是ETL类型的任务,它可以容忍慢一些,但不能失败。对于这种情况,DLA Presto独享版推出大查询功能,能让相同规格的虚拟集群,分析的数据量提升十倍。


新功能介绍

使用场景

当运行在DLA Presto中Query处理的数据量比较大,容易出现类似如下的报错信息。

Query exceeded per-node user memory limit...

出现此异常一般是因为某一节点处理的数据量过大,超出了单节点对内存的限制。这种情况下,你可以先排除你处理的数据是否有数据倾斜或SQL是否写得合理,如果确定数据没有倾斜且SQL写得是合理的,那可以考虑使用DLA Presto的big_query功能。


使用方法

开启的方法很简单,只需要在查询前加一个hint

/*+big_query=true*/ insert into table1 SELECT * FROM table2;

注意事项:

(1)big_query功能只在独享虚拟集群中支持,public(扫描量)集群中不支持该功能。

(2)它可能会增加你的Query运行耗时。

(3)它并不能让你处理任意大小的数据和任意复杂SQL,可以参考的数据量是64Core规格可执行10T的TPCH查询。

(4)当前的Schema的Catalog类型必须是Hive,否则会报如下的错误:

big_query only support hive catalog ...

大查询的原理

DLA Presto大查询的功能基于Presto的Exchange物化和GroupExecution功能,开启该功能后,不再一次性把所有子任务调度起来执行,而是通过把中间数据落到预先分好区的表中,GroupedExecution允许同时只有一部分数据集做处理,能大大减小查询占用的内存,使得64Core规格的DLA Presto虚拟集群能处理的查询数据量由1T增加到10T

image.png

在聚合阶段每个分区独立执行

控制分区并发执行数量减小内存消耗

每个分区单独重试

shuffle

Writer

Aggr

Scan

Writer

Aggr

Scan

Writer

Aggr

Scan

Writer

Aggr


使用DLA Presto的优势

DLA Presto(兼容Presto)的目标是提供比开源自建更高的性价比、开箱即用的体验、方便的数据摄入、MySQL生态带来的简单易用、内置各种优化的数据湖分析计算服务。用户可以先通过使用Serverless版本低成本试用,然后根据使用频率的高低、对资源是否有强独占的需求来决定生产环境使用Serverless版本还是CU版本。DLA SQL还在不断发展中,目前规划中的一些特性包含:

  • 按照时间段或者工作负载进行自动扩缩容,帮助用户节省成本。
  • 支持文件缓存机制,提升查询性能
  • 内置大数据最佳实践,自动拦截Bad SQL

欢迎大家关注我们的钉钉群获取最新的信息:

分享:

相关文章
|
SQL 存储 大数据
提升50%!Presto如何提升Hudi表查询性能?
分享一篇关于使用Hudi Clustering来优化Presto查询性能的talk
315 0
提升50%!Presto如何提升Hudi表查询性能?
|
存储 SQL NoSQL
表格存储 Tablestore SQL 商业版介绍
表格存储(Tablestore)是阿里云自研的多模型结构化数据存储,提供海量结构化数据存储以及快速的查询和分析服务。表格存储的分布式存储和强大的索引引擎能够支持 PB 级存储、千万 TPS 以及毫秒级延迟的服务能力。使用表格存储你可以方便的存储和查询你的海量数据。 表格存储在 21 年 9 月正式公测了 SQL 功能,使得你在享受表格存储全托管,灵活的存储能力之外,可以让你的业务迁移更加平顺。经
1110 0
表格存储 Tablestore SQL 商业版介绍
|
SQL 分布式计算 HIVE
|
SQL 分布式计算 DataWorks
Hive 数据如何同步至 MaxCompute|学习笔记
快速学习 Hive 数据如何同步至 MaxCompute
251 0
Hive 数据如何同步至 MaxCompute|学习笔记
|
SQL 关系型数据库 MySQL
使用presto查询同步到hive的hudi数据
本文介绍如何通过presto查询同步到hive的hudi数据
使用presto查询同步到hive的hudi数据
|
SQL 存储 分布式计算
Presto 如何高效查询 OSS 数据 | 学习笔记
快速学习 Presto 如何高效查询 OSS 数据。
350 0
Presto 如何高效查询 OSS 数据 | 学习笔记
|
消息中间件 分布式计算 关系型数据库
阿里云 E-MapReduce ClickHouse 操作指南 04 期 — 数据导入
阿里云 E-MapReduce(简称 EMR )是运行在阿里云平台上的一种大数据处理的系统解决方案。ClickHouse 作为开源的列式存储数据库,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。而阿里云 EMR ClickHouse 则提供了开源 OLAP 分析引擎 ClickHouse 的云上托管服务。
阿里云 E-MapReduce ClickHouse 操作指南 04 期 — 数据导入
|
SQL 存储 缓存
DLA-Presto二月更新
大家过年好啊,阿里云数据湖分析DLA-Presto二月迭代轻磅发布,请查收。 分区投影: 帮您解决分区爆炸后查询慢的问题。 Cassandra Connector: 针对小表的性能优化比目前开源版本提高60多倍。 控制ETL结果文件数: 解决您的小文件多的问题。 CU支持指定默认Hint: 如果一个hint每个SQL都要写,那么我们配置到CU级别吧。
|
SQL 存储 缓存
DLA Presto支持自建HiveMetastore数据源
DLA近期发布了支持访问用户自建HiveMetastore的功能,可以通过DLA分析自建HiveMetastore的数据。此外还能通过DLA Presto加速查询性能。
|
存储 SQL 运维
使用 Flink SQL 访问 Tablestore 源表
    本文将介绍如何使用使用 Flink SQL 通过流处理的方式访问 Tablestore 源表。 在流计算场景下,用户可以基于[通道服务](https://help.aliyun.com/document_detail/102489.html),利用CDC(数据变更捕获)技术,通过 Flink 完成流式消费和计算。 Flink on Tablesto
1087 0