1. presto 简介

Presto是一个开源的分布式SQL查询引擎,用于针对各种大小(从千兆字节到千兆字节)的数据源运行交互式分析查询。

Presto是从头开始设计和编写的,用于交互式分析,接近商业数据仓库的速度,同时扩展到Facebook等组织的规模。

presto是一款基于内存、基于sql的大数据实时查询(Ad-hoc)开源计算框架,由facebook开发。presto使用connector连接不同的数据源,将不同数据源的数据
存储在内存中进行计算,可以跨数据源进行计算。

大数据计算框架主要分为脚本程序和类sql两种方式。脚本程序主要由mapreduce、pig、crunch、sparkRDD、cascading、tez等执行框架。类sql的实时计算框
架包含hive、sparkSQL、impala。其中sparkSQL也是基于内存的计算框架。

脚本分析组件:

Concept Apache Hadoop MapReduce Apache Crunch Apache Pig Apache Spark Cascading Apache Tez
Input Data InputFormat Source LoadFunc InputFormat Tap (Source) | Tez Input
Output Data OutputFormat Target StoreFunc OutputFormat Tap (Sink) | Tez Output
Data Container Abstraction N/A PCollection Relation RDD Pipe Vertex
Data Format Serialization Writables POJOs and PTypes Pig Tuples and Schemas POJOs and Java/Kryo Serialization Cascading Tuples and Schemes Events
Data Transformation Mapper, Reducer, and Combiner DoFn PigLatin and UDFs Functions (Java API) Operations Processor

SQL分析组件:

Concept Apache hive presto sparkSQL impala
多数据源
基于内存
查询速度 极快
支持数据量 一般