欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

 分类:Presto

Presto 基于历史的查询优化器

Presto 基于历史的查询优化器
摘要现代查询优化器的一个重要特性是能够生成一个对底层数据集最优的查询计划。这需要估计中间查询计划节点的基数和计算成本,这高度依赖于查询的写法和底层数据分布。传统方法包括在基础表上收集统计数据并在优化器内部实现基数和计算成本的推导,这对于复杂查询容易出错。本文介绍了 Presto 的新颖基于历史的优化框架

w397090770   11个月前 (01-25) 461℃ 0评论0喜欢

深入了解 Presto 原生 C++ 查询引擎-Presto 2.0

深入了解 Presto 原生 C++ 查询引擎-Presto 2.0
在过去三年中,来自Meta、Ahana(现为IBM)、Intel和字节跳动的工程师团队联手打造了一款名为Velox的先进执行引擎,它的设计目标是可以在各种计算引擎之间灵活组合使用。在这个过程中,他们开发出了基于C++的Presto worker,这是一个全新的查询执行引擎,它基于Velox构建,此前被称为Project Prestissimo,现在则被命名为Presto 2.0。我们

w397090770   2年前 (2024-06-27) 927℃ 0评论3喜欢

Presto 超大内存泄漏问题排查

Presto 超大内存泄漏问题排查
最近有一个线上 Presto 集群的 Coordinator 节点内存一直处于90%以上,如下图所示:如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据日志里面可以看到几乎每分钟都在 Full GC,但是内存仍然占用很高,所以第一个想法就是存在内存泄漏。但是线上的集群内存是180GB,所以分析这些内存就不能用

w397090770   2年前 (2024-01-31) 514℃ 0评论3喜欢

使用 Presto + Velox 读取 HDFS 上的数据

使用 Presto + Velox 读取 HDFS 上的数据
当前 velox 支持了 HDFS、S3 以及本地文件系统,其中 HDFS 和 S3 模块是需要在编译的时候显示指定的,比如我们要测试 HDFS 功能,编译 prestissimo 的时候需要显示指定 PRESTO_ENABLE_HDFS=ON,如下:[code lang="bash"]PRESTO_ENABLE_HDFS=ON make release[/code]Velox 解析 HDFS NN endpoint 逻辑核心代码如下:[code lang="CPP"]HdfsServiceEndpoint HdfsFileSystem::getServic

w397090770   3年前 (2023-06-29) 1037℃ 0评论3喜欢

如何构建 Presto、Prestissimo\Velox 镜像

如何构建 Presto、Prestissimo\Velox 镜像
为了方便集群的部署,一般我们都会构建出一个 dokcer 镜像,然后部署到 k8s 里面。Presto、Prestissimo 以及 Velox 也不例外,本文将介绍如果构建 presto 以及 Prestissimo 的镜像。构建 Presto 镜像Presto 官方代码里面其实已经包含了构建 Presto 镜像的相关文件,具体参见 $PRESTO_HOME/docker 目录:[code lang="bash"]➜ target git:(velox_docker) ✗ ll ~/

w397090770   3年前 (2023-06-21) 804℃ 0评论8喜欢

Alluxio Local Cache 加速 Presto 查询在 Uber 的应用

Alluxio Local Cache 加速 Presto 查询在 Uber 的应用
背景如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据在 Uber,数据影响着每一个决定。Presto 是推动 Uber 各种数据分析的核心引擎之一。例如,运营团队在仪表盘等服务中大量使用 Presto;Uber Eats 和营销团队依靠这些查询的结果来决定价格。此外, Presto 还被用于 Uber 的合规部门、增长营销部

w397090770   3年前 (2022-11-14) 967℃ 0评论3喜欢

图文介绍 Presto + Velox 整合

图文介绍 Presto + Velox 整合
过去十年,存储的速度从 50MB/s(HDD)提升到 16GB/s(NvMe);网络的速度从 1Gbps 提升到 100Gbps;但是 CPU 的主频从 2010 年的 3GHz 到现在基本不变,CPU 主频是目前数据分析的重要瓶颈。为了解决这个问题,越来越多的向量化执行引擎被开发出来。比如数砖的 Photon 、ClickHouse、Apache Doris、Intel 的 Gazelle 以及 Facebook 的 Velox(参见 《Velox 介绍

w397090770   3年前 (2022-09-29) 2474℃ 0评论3喜欢

Presto 里面如何把 array 或 Map 里面的元素由行转成列

Presto 里面如何把 array 或 Map 里面的元素由行转成列
在 Spark 或 Hive 中,我们可以使用 LATERAL VIEW + EXPLODE 或 POSEXPLODE 将 array 或者 map 里面的数据由行转成列,这个操作在数据分析里面很常见。比如我们有以下表:[code lang="sql"]CREATE TABLE `default`.`iteblog_explode` ( `id` INT, `items` ARRAY<STRING>)[/code]表里面的数据如下:[code lang="sql"]spark-sql> SELECT * FROM iteblog_explode;1 ["iteblog.co

w397090770   3年前 (2022-08-08) 2253℃ 0评论7喜欢

Tardigrade:Trino 解决 ETL 场景的方案

Tardigrade:Trino 解决 ETL 场景的方案
Presto 在 Facebook 的诞生最开始是为了填补当时 Facebook 内部实时查询和 ETL 处理之间的空白。Presto 的核心目标就是提供交互式查询,也就是我们常说的 Ad-Hoc Query,很多公司都使用它作为 OLAP 计算引擎。但是随着近年来业务场景越来越复杂,除了交互式查询场景,很多公司也需要批处理;但是 Presto 作为一个 MPP 计算引擎,将一个 MPP 体

w397090770   4年前 (2022-06-23) 1888℃ 0评论3喜欢