在过去三年中,来自Meta、Ahana(现为IBM)、Intel和字节跳动的工程师团队联手打造了一款名为Velox的先进执行引擎,它的设计目标是可以在各种计算引擎之间灵活组合使用。在这个过程中,他们开发出了基于C++的Presto worker,这是一个全新的查询执行引擎,它基于Velox构建,此前被称为Project Prestissimo,现在则被命名为Presto 2.0。我们 w397090770 6个月前 (06-27) 361℃ 0评论2喜欢
最近有一个线上 Presto 集群的 Coordinator 节点内存一直处于90%以上,如下图所示:如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据日志里面可以看到几乎每分钟都在 Full GC,但是内存仍然占用很高,所以第一个想法就是存在内存泄漏。但是线上的集群内存是180GB,所以分析这些内存就不能用 w397090770 11个月前 (01-31) 346℃ 0评论2喜欢
当前 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 1年前 (2023-06-29) 728℃ 0评论3喜欢
为了方便集群的部署,一般我们都会构建出一个 dokcer 镜像,然后部署到 k8s 里面。Presto、Prestissimo 以及 Velox 也不例外,本文将介绍如果构建 presto 以及 Prestissimo 的镜像。构建 Presto 镜像Presto 官方代码里面其实已经包含了构建 Presto 镜像的相关文件,具体参见 $PRESTO_HOME/docker 目录:[code lang="bash"]➜ target git:(velox_docker) ✗ ll ~/ w397090770 2年前 (2023-06-21) 506℃ 0评论8喜欢
背景如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据在 Uber,数据影响着每一个决定。Presto 是推动 Uber 各种数据分析的核心引擎之一。例如,运营团队在仪表盘等服务中大量使用 Presto;Uber Eats 和营销团队依靠这些查询的结果来决定价格。此外, Presto 还被用于 Uber 的合规部门、增长营销部 w397090770 2年前 (2022-11-14) 852℃ 0评论3喜欢
过去十年,存储的速度从 50MB/s(HDD)提升到 16GB/s(NvMe);网络的速度从 1Gbps 提升到 100Gbps;但是 CPU 的主频从 2010 年的 3GHz 到现在基本不变,CPU 主频是目前数据分析的重要瓶颈。为了解决这个问题,越来越多的向量化执行引擎被开发出来。比如数砖的 Photon 、ClickHouse、Apache Doris、Intel 的 Gazelle 以及 Facebook 的 Velox(参见 《Velox 介绍 w397090770 2年前 (2022-09-29) 2081℃ 0评论3喜欢
如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据Velox 利用了大量的运行时优化,例如过滤器和连接的重新排序(conjunct reordering)、数组和基于哈希的聚合和连接的 key 标准化、动态过滤器下推(dynamic filter pushdown)和自适应列预取(adaptive column prefetching)。考虑到从传入的数据批次中提取的 w397090770 2年前 (2022-09-05) 2349℃ 0评论3喜欢
在 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 2年前 (2022-08-08) 2021℃ 0评论7喜欢
Presto 在 Facebook 的诞生最开始是为了填补当时 Facebook 内部实时查询和 ETL 处理之间的空白。Presto 的核心目标就是提供交互式查询,也就是我们常说的 Ad-Hoc Query,很多公司都使用它作为 OLAP 计算引擎。但是随着近年来业务场景越来越复杂,除了交互式查询场景,很多公司也需要批处理;但是 Presto 作为一个 MPP 计算引擎,将一个 MPP 体 w397090770 3年前 (2022-06-23) 1657℃ 0评论3喜欢
背景Presto 的架构最初只支持一个 coordinator 和多个 workers。多年来,这种方法一直很有效,但也带来了一些新挑战。使用单个 coordinator,集群可以可靠地扩展到一定数量的 worker。但是运行复杂、多阶段查询的大集群可能会使供应不足的 coordinator 不堪重负,因此需要升级硬件来支持工作负载的增加。单个 coordinator 存在单点故障 zz~~ 3年前 (2022-04-22) 948℃ 0评论1喜欢