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

腾讯 PB 级大数据计算如何做到秒级?

在开放融合 Data Cloud ,业务方可以消费完整数据生命周期,采集-存储-计算-分析-洞察。还能够满足位于不同数据中心、不同类型数据源数据联合分析/即时查询需求。...3.3 大文件 ORC 统计信息读取优化 Presto读取 ORC 文件时,会先读取文件 Stripe 统计信息,用于优化 ORC 数据读取,但是如果 ORC 文件比较大,同时文件数量又比较多情况下...,后续 ORC Splits 分发至 Worker 执行时,无需再读取 Stripe 统计信息,直接读取数据即可。..."tables":Presto 查询涉及到库表,如果已经在"tables"配置存在,则 Presto对应 Alluxio 集群读取该库表数据(首次 Alluxio 读取时,如果未有缓存...,则 Alluxio 会将数据缓存下来,后续读取会直接访问缓存),如果没有在"tables"配置,则 Presto 会直接访问底层 HDFS、不经过 Alluxio。"

1.5K21

天穹SuperSQL如何把腾讯 PB 级大数据计算做到秒级?

在开放融合Data Cloud,业务方可以消费完整数据生命周期,采集-存储-计算-分析-洞察。还能够满足位于不同数据中心、不同类型数据源数据联合分析/即时查询需求。...天穹Presto隐式转换规则表如下所示:(绿色表示支持Source Type到Target Type隐式转换,其余空白格表示不支持类型之间隐式转换) 2.2 Query运行信息持久化 Presto...3.3 大文件ORC统计信息读取优化 Presto读取ORC文件时,会先读取文件Stripe统计信息,用于优化ORC数据读取,但是如果ORC文件比较大,同时文件数量又比较多情况下,StripeStatistics..."tables":Presto查询涉及到库表,如果已经在"tables"配置存在,则Presto对应Alluxio集群读取该库表数据(首次Alluxio读取时,如果未有缓存,则Alluxio...会将数据缓存下来,后续读取会直接访问缓存),如果没有在"tables"配置,则Presto会直接访问底层HDFS、不经过Alluxio。"

1.7K41
您找到你想要的搜索结果了吗?
是的
没有找到

0 到 1 学习 Presto,这一篇就够了

数据库 Table:对应 MySql 表 2)Presto 存储单元包括: Page:多行数据集合,包含多个列数据,内部仅提供逻辑行,实际以列式存储。...并且几次性能比较查询来看,Impala性能稍领先于presto,但是presto在数据源支持非常丰富,包括hive、图数据库、传统关系型数据库、Redis等 大家也可以根据上面的链接...,因为机器资源无法用于调度,管理和监视查询执行关键任务 # 如果需要在协调器所在节点配置 worker 节点改为 true 即可 node-scheduler.include-coordinator...6.1.2 使用 ORC 格式存储 PrestoORC文件 读取进行了特定优化,因此,在 Hive 创建 Presto 使用表时,建议采用 ORC 格式存储。...6.1.4 预先排序 对于已经排序数据,在查询数据过滤阶段,ORC格式支持跳过读取不必要数据。比如对于经常需要过滤字段可以预先排序。

6.2K43

Hive - ORC 文件存储格式详细解析

ORC文件是自描述,它元数据使用Protocol Buffers序列化,并且文件数据尽可能压缩以降低存储空间消耗,目前也被Spark SQLPresto查询引擎支持,但是Impala对于...数据访问 读取ORC文件是尾部开始,第一次读取16KB大小,尽可能将Postscript和Footer数据都读入内存。...然后再根据index中保存下一个row group位置信息调至该stripe第一个需要读取row groupORC文件格式只支持读取指定字段,还不支持只读取特殊字段类型指定部分。...由于ORC中使用了更加精确索引信息,使得在读取数据时可以指定任意一行开始读取,更细粒度统计信息使得读取ORC文件跳过整个row group,ORC默认会对任何一块数据和索引信息使用ZLIB压缩,因此...编码器一般会将一个数据压缩成一个个小压缩单元,在目前实现,压缩单元默认大小是256KB。 二、Hive+ORC建立数据仓库 在建Hive表时候我们就应该指定文件存储格式。

11.1K43

Presto介绍与常用查询优化方法

如果配置了Hive Connector,需要配置一个Hive MetaStore服务为Presto提供Hive元信息,Worker节点与HDFS交互读取数据。...使用列式存储 PrestoORC文件读取做了特定优化,因此在Hive创建Presto使用表时,建议采用ORC格式存储。相对于Parquet,PrestoORC支持更好。...使用压缩 数据压缩可以减少节点间数据传输对IO带宽压力,对于即席查询需要快速解压,建议采用snappy压缩 预先排序 对于已经排序数据,在查询数据过滤阶段,ORC格式支持跳过读取不必要数据。...与Impala对比 Impala是Cloudera在受到GoogleDremel启发下开发实时交互SQL大数据查询工具,Impala没有再使用缓慢Hive+MapReduce批处理,而是通过使用与商用并行关系数据库类似的分布式查询引擎...Impala性能稍领先于presto,但是presto在数据源支持非常丰富,prestoSQL支持也更多一些。

3.4K50

Presto介绍及常用查询优化方法总结

小心使用内存和数据结构 GC控制 无容错 2、Presto查询优化 2.1 存储优化 ① 合理设置分区 与Hive类似,Presto会根据元信息读取分区数据,合理分区能减少Presto数据读取量,提升查询性能...② 使用列式存储 PrestoORC文件读取做了特定优化,因此在Hive创建Presto使用表时,建议采用ORC格式存储。相对于Parquet,PrestoORC支持更好。...③ 使用压缩 数据压缩可以减少节点间数据传输对IO带宽压力,对于即席查询需要快速解压,建议采用snappy压缩 ④ 预先排序 有条件的话提前做好排序,对于已经排序数据,在查询数据过滤阶段,ORC格式支持跳过读取不必要数据...如果右边表数据量太大,则可能会报内存溢出错误。...Presto这种配置类型会将左表和右表同时以join keyhash value为分区字段进行分区。

2.4K00

Spark向量化计算在美团生产环境实践

)还是对标量(scalar)进行操作,T代表浮点数类型(若为s则为单精度浮点型,若为d则为精度浮点);整型内置函数后缀是epUY,U表示整数类型(若为无符号类型则为u,否在为i),而Y为操作数据类型位数...如Meta内部主要大数据引擎有Presto和Spark,建设一个跨引擎执行库,优化同时支持Presto和Spark显然是更好选择;OLAP引擎向量化计算本身就是标配;计算引擎出于性能考虑,也可以攒批而非一条条处理数据...图9:Apache ORC与改造后Velox ORC读取性能对比,为Apache ORC | 4.3 Native HDFS客户端优化 首先介绍一下HDFS C++客户端对ORC文件读取某一列数据过程...图10:ORC文件读取过程 在生产环境测试,我们定位到两个数据读取相关性能问题: 小数据量随机读放大。...这样就从执行计划转换策略层面规避这个问题,避免对Velox里Final Aggregation内部代码做过多改动。 3. 浮点类型转换精度错误

4910

ORC文件存储格式深入探究

在Hive-0.13ORC文件格式只支持读取指定字段,还不支持只读取特殊字段类型指定部分。 使用ORC文件格式时,用户可以使用HDFS每一个block存储ORC文件一个stripe。...对于一个ORC文件来说,stripe大小一般需要设置得比HDFSblock小,如果不这样的话,一个stripe就会分别在HDFS多个block,当读取这种数据时就会发生远程读数据行为。...三、索引 在ORC文件添加索引是为了更加高效HDFS读取数据。在ORC文件中使用是稀疏索引(sparse indexes)。...(2)String 对于一个String类型字段,ORC writer在开始时会检查该字段值不同内容数占非空记录总数百分比不超过0.8的话,就使用字典编码,字段值会保存在一个比特,一个字节流及两个整形...编码器一般会将一个数据压缩成一个个小压缩单元,在目前实现,压缩单元默认大小是256KB。 五、内存管理 当ORC writer写数据时,会将整个stripe保存在内存

7.2K40

干货 | 携程Presto技术演进之路

Presto严格分区类型检查和表类型检查,导致大量用户在Presto发起查询以失败告终,对于那些使用老分区重新刷数据用户简直就是灾难。...无法知道用户查询量和用户查询习惯,从而无法反馈给上游用户有效信息,以帮助应用层开发人员更合理使用Presto引擎。...通过这个版本升级,结合对Presto一部分改进,解决了几个主要问题: Presto内存泄漏问题。 Presto读取Avro文件格式存在字段遗漏问题。 Presto语法无法支持整数类型相乘。...第三阶段,资源管控和监控平台 在第三个版本,我们解决了以下问题: 拦截大量生成split查询SQL Presto监控平台初步搭建 限制最大访问分区数量 数据采集 流程图 ?...实时告警平台,对于错误查询Presto能够实时发送异常查询到告警平台,帮助运维人员快速响应和发现错误以便及时处理。

3.3K20

快速学习-Presto使用SQL遇到

第5章 Presto使用SQL遇到坑 https://segmentfault.com/a/1190000013120454?...utm_source=tag-newest 5.1 如何加快在Presto数据统计 很多时候,在Presto对数据库跨库查询,例如Mysql数据库。...这个时候Presto做法是MySQL数据库端拉取最基本数据,然后再去做进一步处理,例如统计等聚合操作。...t > timestamp '2017-01-01 00:00:00'; 5.9 MD5函数使用 PrestoMD5函数传入是binary类型,返回也是binary类型,要对字符串进行MD5操作时...5.11 ORC格式 PrestoORC文件格式进行了针对性优化,但在impala目前不支持ORC格式表,hive中支持ORC格式表,所以想用列式存储时候可以优先考虑ORC格式。

4.2K30

关于Presto避坑小小指南

Presto是什么?优势是什么呢?官方文档我们了解到 Presto是一个分布式SQL查询引擎,用于查询分布在一个或多个不同数据源大数据集。...遇到过问题 如何加快在Presto数据统计 很多时候,在Presto对数据库跨库查询,例如Mysql数据库。...这个时候Presto做法是MySQL数据库端拉取最基本数据,然后再去做进一步处理,例如统计等聚合操作。...t > timestamp '2017-01-01 00:00:00'; MD5函数使用 PrestoMD5函数传入是binary类型,返回也是binary类型,要对字符串进行MD5操作时,需要转换...ORC格式 PrestoORC文件格式进行了针对性优化,但在impala目前不支持ORC格式表,hive中支持ORC格式表,所以想用列式存储时候可以优先考虑ORC格式。

1.9K10

两种列式存储格式:Parquet和ORC

,例如Hive、Spark SQL、Impala、Presto等,同时也产生了多个高性能列式存储格式,例如RCFile、ORC、Parquet等,本文主要从实现角度上对比分析ORC和Parquet两种典型列存格式...ORC文件是自描述,它元数据使用Protocol Buffers序列化,并且文件数据尽可能压缩以降低存储空间消耗,目前也被Spark SQLPresto查询引擎支持,但是Impala对于...数据访问 读取ORC文件是尾部开始,第一次读取16KB大小,尽可能将Postscript和Footer数据都读入内存。...由于ORC中使用了更加精确索引信息,使得在读取数据时可以指定任意一行开始读取,更细粒度统计信息使得读取ORC文件跳过整个row group,ORC默认会对任何一块数据和索引信息使用ZLIB压缩,因此...查询SQL:选择TPC-DS涉及到上述模型10条SQL并对其进行改造。

5K30

快速学习-Presto优化

第3章 Presto优化 3.1 数据存储 1)合理设置分区 与Hive类似,Presto会根据元信息读取分区数据,合理分区能减少Presto数据读取量,提升查询性能。...2)使用列式存储 PrestoORC文件读取做了特定优化,因此在Hive创建Presto使用表时,建议采用ORC格式存储。相对于Parquet,PrestoORC支持更好。...4)预先排序 对于已经排序数据,在查询数据过滤阶段,ORC格式支持跳过读取不必要数据。比如对于经常需要过滤字段可以预先排序。...SELECT count(*) FROM nation_orc WHERE n_name=’AUSTRALIA’; 3.2 查询SQL优化 1)只选择使用必要字段 由于采用列式存储,选择需要字段可加快字段读取...如果右边表数据量太大,则可能会报内存溢出错误。 [GOOD] SELECT ...

1.9K20

Presto在滴滴探索与实践

假如配置了Hive Connector,需要配置一个Hive MetaStore服务为Presto提供Hive元信息,Worker节点通过Hive Connector与HDFS交互,读取原始数据。...在Gateway层,我们做了一些优化来区分大查询查询及小查询,对于查询时间小于3分钟,我们即认为适合Presto查询,比如通过HBO(基于历史统计信息)及JOIN数量来区分查询大小,架构图见:...同时,因为使用Gateway,即使SQL查询出错,SQL也会转发到Spark及Hive,所以我们没有使用PrestoSpill to Disk功能。...主要工作: 隐式类型转换 语义兼容 语法兼容 支持Hive视图 Parquet HDFS文件读取支持 大量UDF支持 其他 Hive SQL兼容,我们迭代了三个大版本,目前线上SQL通过率97~99%。...下图是线上Presto集群SQL查询通过率及失败原因占比,'null' 表示查询成功SQL,其他表示错误原因: ▍4.2 物理资源隔离 上文说到,对性能要求高业务与大查询业务方混合跑,查询性能容易受到影响

1.5K40

PrestoORC格式优化

参考文章:https://prestosql.io/blog/2019/04/23/even-faster-orc.html 最近Presto官网发表了一篇文章,叙述了新版本PrestoORC格式读取性能优化过程...在 TPC-DS benchmark 测试,对于 ORC 格式新读取方式 Presto查询耗费时间减少了约5%,CPU使用量减少了约9%。 What improved?...Optimize for bulk reads 在之前老版本代码Presto 对于每种数据类型都是用同一个 batch size ,也就是说每次都会读取1024个固定 Value。...但是ORC格式对于一些数据类型,例如 booleans、numbers、bytes 等,使用不同 batch size 性能会更好(将对 float 和 double 类型读取loading a...reading 在做完上面的优化后,Presto在大多数不带null值数据类型测试获得了约(0.5ns到3ns)/Value提升,但是对于带null值数据类型测试反倒下降了 6ns/Value

2.5K40

干货 | 再来聊一聊 Parquet 列式存储格式

Parquet 是 Hadoop 生态圈主流列式存储格式,最早是由 Twitter 和 Cloudera 合作开发,2015 年 5 月 Apache 孵化器里毕业成为 Apache 顶级项目。...谓词就是指这些过滤条件,即返回bool: true和false表达式,比如SQL大于小于等于、Like、Is Null等。...2、列块,Column Chunk:行组每一列保存在一个列块,一个列块具有相同数据类型,不同列块可以使用不同压缩。...Parquet 与 ORC 不同点总结以下: 嵌套结构支持:Parquet 能够很完美的支持嵌套式结构,而在这一点 ORC 支持并不好,表达起来复杂且性能和空间都损耗较大。...查询引擎支持:这方面 Parquet 可能更有优势,支持 Hive、Impala、Presto 等各种查询引擎,而 ORC 与 Hive 接触比较紧密,而与 Impala 适配并不好。

2.2K40

万亿数据秒级响应,Apache Doris 在360数科实时数仓应用

大数据领域 Apache 基金会项目构成了事实标准,在 360数科内部已有广泛应用,且 Apache 开源协议对商业友好、无法律风险,不会有协议顾虑。...应用实践 Doris 对 Hive 数仓查询加速方案 在即席查询场景,传统查询引擎(Hive/Spark/Presto)越来越满足不了数据开发者、数据分析师对查询响应性能提出高要求,动辄几十秒甚者分钟级查询耗时极大限制了相关场景开发效率...例如,数据开发曾经反馈查询 Doris SQL 失败,检索日志出现了大量连接数超限异常,我们通过审计日志,迅速定位到了问题原因是由于上游导入工作 Bug 在短时间内创建较多数据库连接。...大数据平台自助导入任务工作适配了 Doris Broker Load 导入方式,数据开发零代码——通过简单勾选配置即可完成自助 Doris 数据导入工作创建。...: Invalid column selected xxx 在阅读了 Broker Load 相关代码后确认了问题原因:在一次 Broker Load 导入过程,导入任务字段解析器会读取一个 ORC

71320

再来聊一聊 Parquet 列式存储格式

Parquet 是 Hadoop 生态圈主流列式存储格式,最早是由 Twitter 和 Cloudera 合作开发,2015 年 5 月 Apache 孵化器里毕业成为 Apache 顶级项目。...谓词就是指这些过滤条件,即返回bool:true和false表达式,比如SQL大于小于等于、Like、Is Null等。...2、列块,Column Chunk:行组每一列保存在一个列块,一个列块具有相同数据类型,不同列块可以使用不同压缩。...Parquet 与 ORC 不同点总结以下: 嵌套结构支持:Parquet 能够很完美的支持嵌套式结构,而在这一点 ORC 支持并不好,表达起来复杂且性能和空间都损耗较大。...查询引擎支持:这方面 Parquet 可能更有优势,支持 Hive、Impala、Presto 等各种查询引擎,而 ORC 与 Hive 接触比较紧密,而与 Impala 适配并不好。

10.6K11

Hive重点难点:Hive原理&优化&面试

,该元数据用于对查询表达式进行类型检查,以及基于查询谓词修建分区; 步骤5:编译器生成计划是分阶段DAG,每个阶段要么是 map/reduce 作业,要么是一个元数据或者HDFS操作。...在每个 task(mapper/reducer) HDFS文件读取与表或中间输出相关联数据,并通过相关算子树传递这些数据。...步骤7、8和9:最终临时文件将移动到表位置,确保不读取脏数据(文件重命名在HDFS是原子操作)。对于用户查询,临时文件内容由执行引擎直接HDFS读取,然后通过Driver发送到UI。...map 端执行 在多路 Join ,根据用户提示决定最后哪个表 删除不必要 ReduceSinkOperators 对于带有Limit子句查询,减少需要为该表扫描文件数 对于带有Limit子句查询...所以,本质上来说,发生数据倾斜原因有两种:一是任务需要处理大量相同key数据。二是任务读取不可分割大文件。

1.2K10
领券