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

Presto在滴滴的探索与实践

目前服务6K+用户,每天读取2PB ~ 3PB HDFS数据,处理30万亿~35万亿条记录,为了承接业务及丰富使用场景,滴滴Presto需要解决稳定性、易用性、性能、成本等诸多问题。...在Gateway层,我们做了一些优化来区分大查询、中查询及小查询,对于查询时间小于3分钟的,我们即认为适合Presto查询,比如通过HBO(基于历史的统计信息)及JOIN数量来区分查询大小,架构图见:...信息变动,Coordinator会定时更新label信息,这样调度时根据SQL指定的label信息来获取对应的Worker机器,如指定label A时,那调度机器里只选择Worker A 和 Worker...SQL能力支持,扩展Druid数据的应用场景 通过Druid Broker获取Druid元数据信息 从Druid Historical直接获取数据 实现了Limit下推、Filter下推、Project...但是如果看最近一个月的CPU使用率会发现,平均CPU使用率比较低,且波峰在白天10~18点,晚上基本上没有查询,CPU使用率不到5%。

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

    如何在 asp.net core 3.x 的 startup.cs 文件中获取注入的服务

    2.2 的项目模板,最近几个月的时间,私下除了学习 Angular 也在对这个模板基于 asp.net core 3.1 进行慢慢补齐功能 因为涉及到底层框架大版本升级,由于某些 breaking changes...3.x 的 startup 文件中获取注入的服务 二、Step by Step 2.1、问题案例 这个问题的发现源于我需要改造模型验证失败时返回的错误信息,如果你有尝试的话,在 3.x 版本中你会发现在...,我的实现方法如下,因为我需要记录请求的标识 Id 和错误日志,所以这里我需要将 ILogger 和 IHttpContextAccessor 注入到 Startup 类中 /// ...你完全可以像在别的类中采用构造函数注入的方式一样直接注入使用 public class Startup { /// /// 日志记录实例 /// 中获取出来然后由自己手动的创建实例 虽然服务定位是一种反模式,但是在某些情况下,我们又不得不采用 这里对于本篇文章开篇中需要解决的问题,我也是采用服务定位的方式

    2.2K30

    译文|Airbnb助力Hadoop SQL查询引擎!

    Airbnb是Hadoop在国内的一个公开资源数据开发和SQL查询工具。它的出现,能给Facebook Presto云技术的发展注入一剂强心剂吗?...7个你不知道的关于Linux的事实 数据驱动型旅游公司Airbnb于周四对外宣布,将把其内部开发的工具Airpal作为公开资源,这一举措将给Facebook开发的Presto在Hadoop SQL查询功能锦上添花...Presto是Facebook于2013年末作为公开资源赠给Apache的一项内存Hadoop SQL查询技术。Airpal则是基于这项技术的数据发掘与SQL查询交互界面。...Airpal跟Presto查询引擎一样,也使用SQL,但是企业用户并不都能理解这种查询语言。...Airbnb在亚马逊的云端基础设施上运行Hadoop的Cloudera分布,但是这家公司最近决定不用Cloudera Impala了。

    78290

    一篇文章搞懂数据仓库:数据应用--OLAP

    目录 1、OLAP和OLTP的区别 2、OLAP分类 3、OLAP基本操作 4、OLAP选型 ---- 1、olap和oltp的区别 OLTPOLAP对象业务开发人员分析决策人员功能日常事务处理面向分析决策模型关系模型多维模型数据量几条或几十条记录...,明细和聚合数据都保存在cube中。...3、OLAP基本操作 ★钻取:维的层次变化,从粗粒度到细粒度,汇总数据下钻到明细数据。如通过季度销售数据钻取每个月的销售数据 ★上卷:钻取的逆,向上钻取。...4、OLAP选型 druid 实时查询和分析的高容错、高性能开源分布式系统,用于解决如何在大规模数据集下进行快速的、交互式的查询和分析。 实时的数据消费,真正做到数据摄入实时、查询结果实时。...(MOLAP CUBE) 与BI工具无缝整合,如Tableau,PowerBI/Excel,MSTR,QlikSense,Hue和SuperSet impala、presto...

    1.2K10

    系列 | 漫谈数仓第四篇NO.4 『数据应用』(BI&OLAP)

    ★钻取:维的层次变化,从粗粒度到细粒度,汇总数据下钻到明细数据。如通过季度销售数据钻取每个月的销售数据 ★上卷:钻取的逆,向上钻取。从细粒度到粗粒度,细粒度数据到不同维层级的汇总。eg....开源技术选型,MOLAP可选Kylin、Druid,ROLAP可选Presto、impala等 Presto Presto 是由 Facebook 开源的大数据分布式 SQL 查询引擎,基于内存的低延迟高并发并行计算...☆ SQL on Hadoop:弥补Hive的效率性能和灵活性的不足,Presto和Spark SQL、Impala有很多异曲同工之处。 presto架构(master+slaver模式): ?...Presto应用场景: ? Druid Druid是一个用于大数据实时查询和分析的高容错、高性能开源分布式系统,用于解决如何在大规模数据集下进行快速的、交互式的查询和分析。...五、本文结束语 ☆☞ 对于数据架构,不管是数据仓库、数据湖,还是数据中台,数据应用才是数据价值体现所在 ☆☞ 对于可视化BI工具,通幽洞微,建议熟练掌握2-3款即可,理解工具思想和实现方式 ☆☞ 对于OLAP

    2.5K20

    系列 | 漫谈数仓第四篇NO.4 『数据应用』(BI&OLAP)

    ★钻取:维的层次变化,从粗粒度到细粒度,汇总数据下钻到明细数据。如通过季度销售数据钻取每个月的销售数据 ★上卷:钻取的逆,向上钻取。从细粒度到粗粒度,细粒度数据到不同维层级的汇总。eg....开源技术选型,MOLAP可选Kylin、Druid,ROLAP可选Presto、impala等 Presto Presto 是由 Facebook 开源的大数据分布式 SQL 查询引擎,基于内存的低延迟高并发并行计算...☆ SQL on Hadoop:弥补Hive的效率性能和灵活性的不足,Presto和Spark SQL、Impala有很多异曲同工之处。 presto架构(master+slaver模式): ?...Presto应用场景: ? Druid Druid是一个用于大数据实时查询和分析的高容错、高性能开源分布式系统,用于解决如何在大规模数据集下进行快速的、交互式的查询和分析。...五、本文结束语 ☆☞ 对于数据架构,不管是数据仓库、数据湖,还是数据中台,数据应用才是数据价值体现所在 ☆☞ 对于可视化BI工具,通幽洞微,建议熟练掌握2-3款即可,理解工具思想和实现方式 ☆☞ 对于OLAP

    2.2K30

    Presto 和 Trino Deltalake 原理调研和总结

    最近在了解 Presto 和 Trino 对于 Deltalake Connector 的相关实现原理,这里了解完刚好用一篇文章总结下,一是可以帮助自己未来的回顾,二是也希望能够帮助大家,下面都是个人理解...3....CachingHiveMetastore -- Hive 相关元数据的缓存,每次获取表、Database 的具体信息时,会先从缓存中进行获取,缓存没有,会从对应的 MetaStore 中获取元数据。...#getTransactionLogEntries 方法,拿到所有事务日志的具体信息,最终结合 MetadataEntry 中的信息,获取列的具体信息。...: $path -- 这行记录所在的文件路径 $file_modified_time -- 这行记录最后修改的时间 $file_size-- 这行记录所在文件的 Size 1.2.2 Presto 可以支持指定表的某个快照版本进行

    38210

    在工作中常用到的SQL

    文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近在公司做了几张报表,还记得刚开始要做报表的时候都快把SQL给忘光了(当时在广州休假了...1个月多,在实习期间也没咋写过SQL),回到公司的第一个需求就是做报表。...这篇文章来记录一下我曾经忘掉的group查询、join查询等一些比较实用/常用的SQL 本文主打通俗易懂,不涵盖任何优化(适合新手观看) 一、回顾group 查询 group查询就是分组查询,为什么要分组查询...如果是right join,那么我们最后的表只有两条数据 三、回顾case when SQL中的case when then else end用法其实跟我们程序语言中的if-else很是类似,在写SQL...min -- 最小 sum -- 合计 floor/ceil --...数学函数 再来分享一下最近遇到的一个需求,现在有的数据如下: 【Java3y简单】快乐学习 【Java3y简单】快乐学习渣渣

    59710

    在工作中常用到的SQL

    前言 本文转自公众号【Java3y】 最近在公司做了几张报表,还记得刚开始要做报表的时候都快把SQL给忘光了(当时在广州休假了1个月多,在实习期间也没咋写过SQL),回到公司的第一个需求就是做报表。...这篇文章来记录一下我曾经忘掉的group查询、join查询等一些比较实用/常用的SQL 本文主打通俗易懂,不涵盖任何优化(适合新手观看) 一、回顾group 查询 group查询就是分组查询,为什么要分组查询...重复的数据 我这边只希望留下某一条记录作为查询结果就好了,我们可以写下以下的SQL: select * from user where id in( select min(id) from user...如果是right join,那么我们最后的表只有两条数据 三、回顾case when SQL中的case when then else end用法其实跟我们程序语言中的if-else很是类似,在写SQL...min -- 最小 sum -- 合计 floor/ceil --...数学函数 再来分享一下最近遇到的一个需求,现在有的数据如下: 【Java3y简单】快乐学习 【Java3y简单】快乐学习渣渣

    68830

    在工作中常用到的SQL

    来源:Java3y | 作者:Java3y 最近在公司做了几张报表,还记得刚开始要做报表的时候都快把SQL给忘光了(当时在广州休假了1个月多,在实习期间也没咋写过SQL),回到公司的第一个需求就是做报表...这篇文章来记录一下我曾经忘掉的group查询、join查询等一些比较实用/常用的SQL 本文主打通俗易懂,不涵盖任何优化(适合新手观看) 一、回顾group 查询 group查询就是分组查询,为什么要分组查询...重复的数据 我这边只希望留下某一条记录作为查询结果就好了,我们可以写下以下的SQL: select * from user where id in( select min(id) from user...如果是right join,那么我们最后的表只有两条数据 三、回顾case when SQL中的case when then else end用法其实跟我们程序语言中的if-else很是类似,在写SQL...min -- 最小 sum -- 合计 floor/ceil --...数学函数 再来分享一下最近遇到的一个需求,现在有的数据如下: 【Java3y简单】快乐学习 【Java3y简单】快乐学习渣渣

    52010

    在工作中常用到的SQL

    最近在公司做了几张报表,还记得刚开始要做报表的时候都快把SQL给忘光了(当时在广州休假了1个月多,在实习期间也没咋写过SQL),回到公司的第一个需求就是做报表。...这篇文章来记录一下我曾经忘掉的group查询、join查询等一些比较实用/常用的SQL 本文主打通俗易懂,不涵盖任何优化(适合新手观看) 一、回顾group 查询 group查询就是分组查询,为什么要分组查询...重复的数据 我这边只希望留下某一条记录作为查询结果就好了,我们可以写下以下的SQL: select * from user where id in( select min(id) from user...如果是right join,那么我们最后的表只有两条数据 三、回顾case when SQL中的case when then else end用法其实跟我们程序语言中的if-else很是类似,在写SQL...min -- 最小 sum -- 合计 floor/ceil --...数学函数 再来分享一下最近遇到的一个需求,现在有的数据如下: 【Java3y简单】快乐学习 【Java3y简单】快乐学习渣渣

    57720

    基于 Apache Hudi + Presto + AWS S3 构建开放Lakehouse

    Presto — 数据湖的 SQL 查询引擎 Presto 是用于数据湖的并行分布式 SQL 查询引擎。它允许对大量数据湖上的数据进行交互式、即席分析。...查询由客户端(如命令行界面 (CLI)、BI 工具或支持 SQL 的笔记本)提交给Coordinator。Coordinator使用元数据和数据分布信息解析、分析和生成最优查询执行计划。...这种解耦存储模型的优势在于 Presto 可以提供所有已聚合到 S3 等数据存储层的数据的单一视图。 Apache Hudi — 开放数据湖中的流式处理 传统数据仓库的一大缺点是保持数据更新。...更新记录到基于行的增量文件,直到压缩,这将产生新版本的列文件。...AWS 最近推出了 Lake Formation,一种用于数据湖的数据治理解决方案和 Ahana,一种 Presto 的托管服务,将 Presto 与 AWS Lake Formation 无缝集成,以在

    1.6K20

    优步使用压缩日志处理器 (CLP) 将日志记录成本降低了 169 倍

    Uber最近发布了如何使用压缩日志处理器(CLP)大幅降低日志记录成本的发布。CLP 是一种能够无损压缩文本日志并在不解压缩的情况下搜索它们的工具。...因此,Uber 的 Spark 用户经常要求将日志保留期从三天延长到一个月。但是,如果Uber将保留期延长到一个月,其HDFS存储成本将从每年18万美元增加到每年1.8M美元。...CLP 需要一些自定义,因为它设计为一次压缩一批文件,而我们的日志记录库一次只写入一个日志文件。...[...]CLP 的收益来自于使用经过调整的、特定于域的压缩和搜索算法,该算法利用了文本日志中的大量重复。因此,CLP 能够对归档日志进行高效的搜索和分析,如果没有它,这是不可能实现的。...此外,他们计划使用列式存储格式(如 Parquet)存储压缩日志,可能与 Presto 集成,以便使用 SQL 查询交互式分析日志。

    1.5K40

    Uber 大规模运行 Apache Pinot实践

    Pinot 从脱机数据源(包括 Hadoop 和各类文件)和在线数据源(如 Kafka)中获取数据进行分析。Pinot 被设计成可进行水平扩展。...近实时探索 数据探索通常是在传统的批处理和仓库系统(如 Hadoop)上完成的。但是,有许多情况下,用户需要能够对实时数据执行复杂的 SQL 查询。...例如,跨不同维度(如时间、位置或产品线)的用户需求指标可以很容易地从用户关注的 Kafka 流中获取的 Pinot 表中计算出来。...然后,Pinot 可以使用管理好的脱机数据集并覆盖不一致的实时数据,从而提高我们分析的总体准确性。 批量数据加载:在某些情况下,我们需要用至少 3 个月的数据引导 Pinot 表。...Presto 最近,我们在 Presto 和 Pinot 的集成方面做了很多工作,它允许我们的用户使用标准的 PrestoSQL 来查询 Pinot。

    92510

    Presto系列 | Presto基本介绍

    因为工作中接触到Presto,研究它对理解SQL Parser、常见算子的实现(如SQL中table scan,join,aggregation)、资源管理与调度、查询优化(如向量化执行、动态代码生成)...Presto的使用举例 比如说,你想对存储在不同数据源中的数据,如HDFS、Mysql、HBase等通过一个SQL做查询分析,那么只需要把每一个数据源当成是Presto的Connector,对应实现Presto...Presto把Statement 和 Query区分开是因为:在Presto中,statements是指Client提交上来的SQL语句,如: SELECT * FROM table WHERE id...分布式查询计划的最低级别的stage(如上图中的Stage3/Stage4)通过来自connectors得到的splits集合获取输入数据,更高级别的中间Stage(如上图中的Stage2/Stage1...)从下一层stage中获取输入数据。

    4.4K40
    领券