论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
物联网
›
物联网
›
Presto
Presto
瑞星
论坛元老
|
2024-9-23 17:54:07
|
显示全部楼层
|
阅读模式
楼主
主题
1683
|
帖子
1683
|
积分
5049
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
Presto
是一个开源的分布式 SQL 查询引擎,专门用于在大数据平台上进行高速交互式查询。它最早由 Facebook 开辟,旨在处理大规模数据集,并允许在各种存储系统上执行 SQL 查询,而无需将数据移动到单一的存储系统中。Presto 非常得当需要对大量数据进行快速查询分析的场景,如数据湖、数据仓库和多种数据源的集成查询。
一、Presto 的关键特点
高性能
Presto 是为低延迟查询设计的。与传统的 Hadoop MapReduce 查询相比,它能更高效地在内存中处理数据,并实现近乎实时的查询性能。
Presto 可以跨多个节点并行处理查询任务,而且其查询延迟较低,非常得当用来进行交互式查询。
支持多种数据源
Presto 的最大上风之一就是可以从多个不同的数据源中提取数据进行查询,包罗 HDFS、Cassandra、Kafka、MySQL、PostgreSQL、MongoDB、S3、Hive 等。
它无需将数据转移到一个统一的存储系统中,而是可以直接在多个分散的数据源上执行 SQL 查询。这使得 Presto 成为处理异构数据源时的理想工具。
SQL 支持
Presto 提供了完整的 ANSI SQL 支持,包罗复杂查询、子查询、毗连、多表查询等高级特性。
对于那些习惯于使用 SQL 进行数据查询和分析的用户,Presto 的语法非常直观和易于上手。
扩展性
Presto 可以在集群上扩展,支持从几个节点到上千个节点的集群,处理从 GB 到 PB 级的数据量。
它允许你动态添加和移除工作节点,因此非常得当处理数据量增长迅速的场景。
二、Presto 的架构
Presto 是一种主从架构,包含以下重要组件:
Coordinator(和谐器)
:接收用户的查询请求,解析查询语句,并负责将查询分解为多个任务。Coordinator 还负责将任务分配到不同的工作节点上,并汇总结果。
Worker(工作节点)
:负责实际执行查询任务,并返回结果到 Coordinator。Worker 节点的数量可以根据数据量和查询复杂度机动调解。
Connector(毗连器)
:毗连器是 Presto 访问不同数据源的桥梁。它通过毗连器插件访问 HDFS、Kafka、MySQL、S3 等数据源,并将查询转换为可执行的任务。
三、Presto 的工作流程
查询提交
:用户通过 SQL 客户端提交查询,Coordinator 接收到查询请求。
查询解析
:Coordinator 将 SQL 查询解析成查询计划,并根据计划将任务划分为不同的阶段。
任务分配
:Coordinator 将任务分配给 Worker 节点,并监视查询的执行。
结果返回
:Worker 节点并行处理查询任务,将结果汇总后通过 Coordinator 返回给用户。
这种并行化的执行模式,使得 Presto 可以在大规模数据集上快速执行复杂的 SQL 查询。
四、Presto 的应用场景
大数据分析
Presto 重要用于快速查询大规模数据集,因此在大数据分析平台中应用广泛。它可以对存储在 HDFS、S3 等数据湖中的海量数据进行高速查询。
多源数据查询
当企业的数据分散在多个存储系统中(如 HDFS、MySQL、MongoDB、S3),Presto 可以作为一个统一的查询引擎,直接在这些数据源上执行 SQL 查询,避免了数据转移的麻烦。
数据湖查询
由于 Presto 支持 S3 等对象存储,越来越多的企业选择将数据放入数据湖中进行存储,Presto 可以直接查询数据湖中的数据,实现更机动的分析。
交互式查询
Presto 专为交互式查询设计,可以或许快速响应用户的查询请求,非常得当需要频繁分析和探索数据的场景,如 BI(商业智能)工具集成、实时数据分析等。
五、Presto 与其他查询引擎的对比
Presto vs. Hive
: Hive 是基于 Hadoop 的 SQL 查询引擎,通常用于批量处理。相比 Hive,Presto 更加侧重于低延迟的交互式查询,速度更快,得当实时分析。
Presto vs. Spark SQL
: Spark SQL 是 Spark 的一个 SQL 模块,也支持分布式查询。与 Spark SQL 相比,Presto 专为低延迟查询设计,查询延迟更低,适用于高频交互场景。
Presto vs. Druid
: Druid 是专为实时分析设计的 OLAP 引擎,擅长对流数据进行快速查询。Presto 更加通用,支持多种存储源,且在数据集成查询上具有上风。
六、Presto 的范围性
数据更新支持有限
:Presto 重要用于读取数据,并不得当频繁的写操作。它通常用于只读查询或写入频率较低的场景。
内存需求较高
:由于 Presto 在内存中进行大部分处理操作,它对集群节点的内存要求较高。在处理非常大的数据集时,需要注意内存的配置。
实时流处理支持较弱
:只管 Presto 可以用于流数据的分析,但在流数据处理上并没有 Kafka Streams 或 Flink 那样强盛的能力。
七、总结
Presto 是一个非常强盛且机动的分布式 SQL 查询引擎,尤其得当大规模数据集上的交互式查询。它的多源数据支持、良好的扩展性和低延迟特性使得它在大数据生态中占据重要职位,广泛应用于数据湖查询、多数据源集成和大数据分析平台中。
如果你正在构建一个大数据平台,或者需要对不同数据源进行统一的 SQL 查询,Presto 可能是一个非常理想的选择。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
瑞星
论坛元老
这个人很懒什么都没写!
楼主热帖
复习一下Linux常用命令,孰能生巧~ ...
OpenSSL RSA相关基本接口和编程示例 ...
2022护网面试题总结
一次服务器被入侵的处理过程分享 ...
使用 Power Shell 修改 Hyper-V 虚拟机 ...
kubernetes入门
适用于顺序磁盘访问的1分钟法则 ...
Android studio 连接SQLite数据库 +创 ...
内网安全-横向移动(1)
Iceberg在袋鼠云的探索及实践 ...
标签云
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表