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 存储 大数据
Presto全网最佳学习资料汇总
Presto这几年在国内使用的越来越广泛,成为企业中必备的Adhoc/BI报表/轻量级ETL引擎,国内公司比如阿里巴巴、滴滴、头条、京东、小米都有几百数上千台的Presto集群,这主要还是由Presto优秀的特性使然(下文详细说明)。为了方便咱们中国的Presto使用者、爱好者学习使用Presto,我把Presto周边的资料做了一个搜集整理,方便大家查阅。
Presto全网最佳学习资料汇总
|
4月前
|
存储 安全 Apache
StarRocks 4.0:基于 Apache Iceberg 的 Catalog 中心化访问控制
StarRocks 4.0 已正式发布!这一版本带来了多项关键升级。接下来,我们将以每周一篇的节奏,逐一解析 4.0 的核心新特性。 在多引擎协同访问同一数据湖的场景下,如何实现安全、统一且可审计的权限管理,是 Lakehouse 架构演进中的一项关键挑战。StarRocks 4.0 联合 Apache Iceberg,借助 REST Catalog 的统一治理能力与 JWT 身份认证、临时凭证机制(Vended Credential),为多引擎湖仓架构提供了一种全新的安全访问方式。
|
Java Linux 测试技术
JMeter的运行
JMeter是一款基于Java的压力测试工具,适用于Windows、Mac及Linux系统。运行JMeter需Java 8及以上版本,建议至少1GB内存。用户可通过双击bin目录下的jmeter.bat/.sh文件或命令行启动。其主界面包括文件、编辑、查找、运行、选项与帮助等菜单,支持测试计划的创建、编辑与执行,并提供详细的帮助文档。正确配置环境变量可简化启动流程。
|
分布式计算 安全 Hadoop
HDFS NAMENODE 安全模式
HDFS NAMENODE 安全模式
|
Prometheus Kubernetes Cloud Native
使用prometheus来避免Kubernetes CPU Limits造成的事故
使用prometheus来避免Kubernetes CPU Limits造成的事故
394 7
|
分布式计算 运维 调度
Spark——成功解决java.util.concurrent.TimeoutException: Futures timed out after [600 seconds]
Spark——成功解决java.util.concurrent.TimeoutException: Futures timed out after [600 seconds]
11781 0
|
SQL 存储 分布式计算
Hive 基本操作(创建数据库与创建数据库表)
Hive 基本操作(创建数据库与创建数据库表)
647 0
|
存储 Prometheus 监控
Prometheus基础
Prometheus基础
312 2
|
自然语言处理 运维 监控
[2.0快速体验]Apache Doris 2.0 日志分析快速体验
应用程序、服务器、云基础设施、IoT 和移动设备、DevOps、微服务架构—最重要的业务和 IT 发展趋势帮助我们以前所未有的方式优化运维和客户体验。但这些趋势也导致由机器生成的数据出现爆炸式成长,其中包括日志和指标等,例如,用户交易、客户行为、传感器活动、机器行为和安全威胁等。这些数据十分复杂,但同时也最为重要,因为它们包含关于 IT、安全和业务的运维情报。 日志分析涉及到对由您的 IT 系统和技术基础设施生成的机器数据进行搜索、分析与可视化,以便获得运维方面的见解。传统的数据分析工具已不能胜任如此多样性而且快速增加的机器数据的处理工作。 日志数据在不断增长。如果没有一个整体的、具有成本
1518 0

热门文章

最新文章