使用 Presto 进行非即席查询

问题描述 投票:0回答:1

来自这个链接:

批处理和 ETL 作业在 Hive 和 Spark 上运行,而近乎实时的交互式查询在 Presto 上运行。

我在其他地方也看到过这种情绪。我想了解 使用 Presto 进行具有固定(即非即席)查询的批处理和 OLAP 作业有什么危害? 当然,如果它可以处理即席查询,它也应该能够处理非即席查询吗?是因为它对内存要求很高并且需要所有内容都适合内存(只是猜测;我不确定这个假设是否正确)?那么,Spark 不也是一个具有类似内存需求的内存执行引擎吗?这些工具的文档非常密集,我在不同网站上阅读了相互冲突的文档,所以在这里询问。

presto trino
1个回答
0
投票

我认为这里的区别不是“固定”与即席查询,而是 ETL/批处理与 OLAP 查询。根据我的知识/理解,Hive 和 Spark 可以更灵活地处理管道中的数据以及如何处理数据,而 Trino/Presto 是 OLAP 查询引擎,引用自文档

Presto 是什么

Presto 是一款旨在使用分布式查询高效查询大量数据的工具。如果您处理 TB 或 PB 的数据,您可能会使用与 Hadoop 和 HDFS 交互的工具。 Presto 被设计为使用 Hive 或 Pig 等 MapReduce 作业管道查询 HDFS 的工具的替代工具,但 Presto 不仅限于访问 HDFS。 Presto 可以并且已经扩展为可以在不同类型的数据源上运行,包括传统关系数据库和 Cassandra 等其他数据源。

Presto 旨在处理数据仓储和分析:数据分析、聚合大量数据并生成报告。这些工作负载通常被归类为在线分析处理 (OLAP)。

所以它应该可以很好地处理“固定”查询,但并非所有内容都可以轻松地表达为 SQL 查询。此外,您更依赖于查询处理引擎,而“手动”管道可能可以让您更好地控制处理内容和处理方式。

© www.soinside.com 2019 - 2024. All rights reserved.