内容简介:如果您的职位类似于Data Analyst,VP Analytics,分析主管等,您就知道您的角色在公司中的重要性。你开始工作时,会面临无数的报告。管理层会议正在召开,客户的数据由您的组织管理,他们希望获得有关其基于云的音乐流应用的采用报告。为此,您需要使用包含数十亿行的表,并对关系数据库和Hive数据库进行排序。这只是一个例子。您可能在公司面临更繁琐的工作。
如果您的职位类似于Data Analyst,VP Analytics,分析主管等,您就知道您的角色在公司中的重要性。
你开始工作时,会面临无数的报告。管理层会议正在召开,客户的数据由您的组织管理,他们希望获得有关其基于云的音乐流应用的采用报告。为此,您需要使用包含数十亿行的表,并对关系数据库和Hive数据库进行排序。
这只是一个例子。您可能在公司面临更繁琐的工作。
作为数据分析师,您希望提供足够的相关数据,以便组织中的员工可以在各自的角色中做出明智且数据驱动的决策。
但要获得最佳结果,您必须能够轻松快速地访问数据。你越快,你就越容易完成工作。他们越喜欢与您合作,您的雇主就越难以取代您。
您需要一个快速查询引擎,使您能够将组织使用的所有数据源中的数据收集到一个结果中,以便您可以快速做出数据驱动的决策。
这就是 Presto的 用武之地。您可能已经了解历史。但如果没有,这里有一个快速的解释。
关于Presto的快速背景
Presto是由Facebook在2013年开发的一种开源软件,用于高速查询不同来源的数据库,无论其数据的数量,速度和数量如何。
构建这个大数据查询引擎的项目始于2008年,当时Facebook意识到他们需要一个可以查询数据库的引擎,而不管它们位于何处(Hadoop,Cassandra等)。快进到今天,Presto现在被Uber,Twitter,AirBnB,亚马逊和其他几家企业的大公司所使用,主要是因为它的速度和能力。
“Presto让我们的用户的生活更轻松。它极大地提高了他们的生产力“ - Netflix
“我们选择Presto作为我们系统的 SQL 引擎,因为它具有可扩展性,高性能以及与Hadoop的平滑集成。这些属性使其非常适合我们的许多团队“ - 优步
Teradata 为Presto提供了首个商业支持,之后,Netflix等其他公司也加入了开源查询引擎。目前,Presto由Apache授权,并提供ANSI SQL合规性和基于规则的优化器。
但是,如果你要从Presto中获得最大的收益,那么你很清楚Presto究竟是什么,不是什么?
Presto是什么和不是什么
- 首先,Presto 不是关系数据库管理系统。它理解或使用SQL并不意味着它可以替代传统的RDBMS,如MySQL,PostgreSQL等。
- Presto 是一种工具,旨在使用分布式查询有效地查询不同来源的大量数据。
- 如果您在组织中使用数PB的数据,很可能您一直在使用与Hadoop和HDFS交互的工具。Presto 是这些 工具 的完美替代品。
- Presto 另一个主要力量时聚合不同类型的数据源,包括传统的RDBMS和其他数据源,如Cassanda上操作的能力。
- Presto还设计用于处理数据仓库和分析:数据分析,聚合大量数据和生成报告工作负载 - 通常归类为在线分析处理(OLAP)
轻松访问存储在任何地方的数据
Presto允许查询它所在的数据 - 无论是在Hive,Cassandra,关系数据库还是专有数据存储上。单个Presto查询可以组合来自多个来源的数据,从而允许整个组织进行分析。
无论您的数据存储在何处(云或本地存储),只要使用了适用于这些数据源的连接器,Presto就可以轻松访问这些位置的数据。
Netflix 的大数据团队在Amazon S3上的数据仓库中使用Presto(亚马逊提供的云存储解决方案,可以从任何地方存储和检索任何数量的数据):
传统SQL语法的优点
Presto使用ANSI SQL语法和语义来构建其查询。
这样做的好处是,拥有丰富关系数据库经验的分析师会发现编写Presto查询非常容易和直接,减少了在学习全新语法风格时分析数据时出现的停机时间和滞后。
然后是Optimized Row Columnar文件格式的优势。
优化行列(ORC)
Presto还支持ORC文件格式,它提供了一种存储Hive数据的高效方法。Presto的ORC阅读器能够跳过不需要的数据,延迟读取和矢量化读取。
安装Presto
安装Presto有一些要求:
- Linux OS或Mac OS X.
- Java 8,64位
- Python 2.4+
- Presto服务器tarball, presto-server-0.184.tar.gz
Prestodb.io上用于部署的文档非常易于理解,并且按照文档中列出的步骤,您将在大约10分钟内启动并运行presto服务器。您可以在 此处 找到详细的文档。
根据您要连接的数据源,Presto还提供各种连接器,以确保Presto服务器与数据源之间的无缝通信。可用的Presto连接器包括:
- Accumulo Connector
- Black Hole Connector
- Cassandra Connector
- Hive Connector
- JMX Connector
- Kafka Connector with a Kafka Connector Tutorial
- Local File Connector
- Memory Connector
- MongoDB Connector
- MySQL Connector
- PostgreSQL Connector
- Redis Connector
- SQL Server Connector
- System Connector
- Thrift Connector
- TPCDS Connector
- TPCH Connector
在多个源上运行Presto查询
正如我之前提到的,Presto允许您一次对多个数据源运行查询,并使用SQL语句返回单个结果表。
它能够与位于任何地方的各种数据源集成,这意味着您可以与Cassandra,PostgreSQL,Accumulo,Hive和 MongoDB 连接,并使用Presto的SQL语法将这些源中的数据提取到单个结果视图中。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 大数据分析师入门(六):HIVE 进阶
- 面试大数据分析师,你需要掌握的基础技术栈
- 如何分析“数据分析师”的岗位?
- [译] 每位数据分析师应该要知道的基本数据分析技术
- 业务分析师可用哪些UML图?
- 如何写好数据分析师简历?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。