Presto介绍

简介:

1. 简介

Presto 是一个运行在集群之上的分布式系统。一个完全的安装报考一个 coordinator 进程和多个 workers 进程。查询通过一个客户端例如 Presto CLI 提交到 coordinator 进程。这个 coordinator 进程解析、分析并且生成查询的执行计划,然后将执行过程分发到 workers 进程。

下面是一个架构图(图来自 http://www.dw4e.com/?p=141,此图将官网的架构图稍微修改了一下,增加了 Discovery 的服务,这样可能看起来会更清楚一些):

Presto 查询引擎是一个 Master-Slave 的架构,由一个 Coordinato r节点,一个 Discovery Server 节点,多个 Worker 节点组成,Discovery Server 通常内嵌于 Coordinator 节点中。Coordinator 负责解析 SQL 语句,生成执行计划,分发执行任务给 Worker 节点执行。Worker 节点负责实际执行查询任务。Worker 节点启动后向 Discovery Server 服务注册,Coordinator 从 Discovery Server 获得可以正常工作的 Worker 节点。如果配置了 Hive Connector,需要配置一个 Hive MetaStore 服务为 Presto 提供 Hive 元信息,Worker 节点与 HDFS 交互读取数据。

2. 要求

Presto 有以下几个基本要求:

  • Linux 或者 Mac OS X 系统
  • Java 8,64位
  • Python 2.4++

2.1 连接器

Presto 支持可插拔的连接器用于提供数据查询。不同连接器的要求不一样。

HADOOP/HIVE

Presto 支持读以下版本的 hive 数据:

  • Apache Hadoop 1.x,使用 hive-hadoop1 连接器
  • Apache Hadoop 2.x,使用 hive-hadoop2 连接器
  • Cloudera CDH 4,使用 hive-cdh4 连接器
  • Cloudera CDH 5,使用 hive-cdh5 连接器

支持以下格式:Text、SequenceFile、RCFile、ORC。

另外,还需要一个远程的 Hive metastore 服务。本地的或者嵌入式模式是不支持的。Presto 不使用 MapReduce 并且只需要 HDFS。

CASSANDRA

Cassandra 2.x 是需要的。这个连接器是完全独立于 Hive 连接器的并且仅仅需要一个安装好的 Cassandra 集群。

TPC-H

TPC-H 连接器动态地生成数据用于实验和测试 Presto。这个连接器没有额外的要求。

当然,Presto 还支持一些其他的连接器,包括:

  • JMX
  • Kafka
  • MySQL
  • PostgreSQL

3. 使用场景

3.1 What Presto Is Not

Presto 支持 SQL 并提供了一个标准数据库的语法特性,但其不是一个通常意义上的关系数据库,他不是关系数据库,如 MySQL、PostgreSQL 或者 Oracle 的替代品。Presto 不是设计用来解决在线事物处理(OLTP)。

3.2 What Presto Is

Presto 是一个工具,被用来通过分布式查询来有效的查询大量的数据。Presto 是一个可选的工具,可以用来查询 HDFS,通过使用 MapReduce 的作业的流水线,例如 hive,pig,但是又不限于查询 HDFS 数据,它还能查询其他的不同数据源的数据,包括关系数据库以及其他的数据源,比如 cassandra。

Presto 被设计为处理数据仓库和分析:分析数据,聚合大量的数据并产生报表,这些场景通常被定义为 OLAP。

3.3 Who uses Presto?

国外:

  • Facebook,Presto 的开发者

国内:

4. 资料

以下是一些资料,希望对你了解 Presto 有所帮助:

目录
相关文章
|
人工智能 安全 网络安全
黑客工具FraudGPT
【2月更文挑战第13天】黑客工具FraudGPT
585 2
黑客工具FraudGPT
|
前端开发 JavaScript 安全
小红书前端架构
小红书前端架构
|
Web App开发 安全 iOS开发
推荐一款超好用的“网盘高速下载”插件
推荐一款超好用的“网盘高速下载”插件
1646 0
|
云安全 安全 小程序
无影-阿里云第一款云电脑,它拥有超越PC的完美体验
无影是一款面向数字经济时代的生产力工具,基于流式传输服务和容器化架构,可实现随时随地云上办公、海量算力触手可得、海量应用一网打尽,依托阿里云打造云管端一体化安全防护体系,全面保障企业业务和数据安全,拥有超越PC的便捷、流畅、安全、高效体验。
27549 0
无影-阿里云第一款云电脑,它拥有超越PC的完美体验
|
存储 JavaScript 前端开发
使用JavaScript构建动态交互式网页:从基础到实践
【10月更文挑战第12天】使用JavaScript构建动态交互式网页:从基础到实践
616 1
|
安全 Android开发 iOS开发
安卓vs iOS:探索两种操作系统的独特魅力与技术深度###
【10月更文挑战第16天】 本文旨在深入浅出地探讨安卓(Android)与iOS这两种主流移动操作系统的特色、优势及背后的技术理念。通过对比分析,揭示它们各自如何塑造了移动互联网的生态,并为用户提供丰富多彩的智能体验。无论您是科技爱好者还是普通用户,都能从这篇文章中感受到技术创新带来的无限可能。 ###
565 2
|
开发框架 Oracle Java
【编程基础知识】《Java 世界探秘:JRE、JDK 与 JDK 版本全解析》
JRE(Java Runtime Environment)是运行Java程序所需的环境,包含JVM和Java核心类库,适合普通用户使用。JDK(Java Development Kit)则是Java开发工具包,不仅包含JRE,还提供了编译器、调试器等开发工具,适用于开发者。两者的主要区别在于JDK用于开发,而JRE仅用于运行Java程序。JDK各版本不断引入新特性,如Java 8中的Lambda表达式和默认方法等。环境配置方面,Windows和Linux系统都有详细的步骤,确保Java程序能够顺利编译和运行。
495 1
|
机器学习/深度学习 人工智能 自然语言处理
智能语音交互:AI如何重塑人际沟通###
【10月更文挑战第27天】 一句话 本文将探讨智能语音交互技术如何深刻改变我们的沟通方式,从简单的命令识别到复杂的情感理解和多模态互动,揭示其背后的技术原理与未来趋势。 ###
|
存储 固态存储 定位技术
如何选择移动存储设备
【10月更文挑战第6天】选择移动存储设备需考虑多个因素,包括存储容量、读写速度、接口类型、设备类型及数据安全。容量应根据需求评估,留有余量;读写速度影响传输效率,USB 3.0 及以上接口更佳;设备类型有U盘、移动硬盘等,各具特色;数据加密和品牌质量保证则提升数据安全性。
427 0
|
存储 JavaScript 持续交付
云效问题之ACR内网地址拉不下来镜像如何解决
云效镜像是指存储在阿里云效服务中的容器镜像,它们可以用于持续集成和持续部署(CI/CD)流程中;本合集将介绍如何在云效平台上管理和使用镜像资源,以及常见的镜像问题和解决办法。
287 0