编辑推荐:
《Presto技术内幕》由浅入深地详细介绍了Presto的安装过程、内部运行原理机制、功能特性、性能优化方法,以及在应用过程中常见的问题及解决方案等,同时详细介绍了JD-Presto版本的许多新功能及其适用的业务场景,这些功能的成功研发,使得JD-Presto 版本不仅仅可用于离线大
数据分析计算来提升性能,还可用于多种数据源混合进行实时大数据分析计算,使一些使用其他大数据技术不能解决的业务场景有了一个全新有效的解决方案。
适合读者:
Java 研发工程师;在大数据技术领域从业的研发工程师、运维工程师、架构师;对大数据研究方向感兴趣的大学老师和学生、以及大数据技术的入门学者;从事海量数据分析应用的开发者、研究者。
内容介绍:
本书按照由浅入深的顺序对Presto进行了全方位的细致讲解,具体内容包括Presto概述、 Presto安装与部署、 Presto RESTful框架解析、提交查询、生成查询执行计划、查询调度、查询执行、队列、System Connector、 Hive Connector、 Kafka Connector、 Connector开发、 Functions开发、 JD-Presto功能改造、 Presto性能调优、 Presto应用场景。 本书对Java研发工程师,在大数据技术领域从业的研发工程师、运维工程师、架构师,对大数 据研究方向感兴趣的大学老师和学生、以及大数据技术的入门学者,从事海量数据分析应用的开发者、研究者都有很强的参考价值。
背景发展:
随着经济和科技的快速发展,各 大企业和公司需要处理的数据在飞速增长,因此,大数据技术在最近几年突然兴起并且迅速变得火热。在大数据技术的浪潮中,出现了很多优秀的大数据存储和计算产品,其中最具影响力的就是 Hadoop。 Hadoop 提供了大数据存储和计算的一整套解决方案,完美地解决了大数据的存储和计算问题。但是 Hadoop 提供的大数据解决方案使用的是 Map-Reduce 计算框架,这种计算框架适用于大数据的离线和批量计算,因为该计算框架强调的是吞吐率而不是计算效率,所以其不能满足大数据快速实时Ad-Hoc 查询计算的性能要求。各 大互联网公司和企业也发现了 Map-Reduce 在进行快速实时 Ad-Hoc 查询计算时所表现出来的弊端,因此,开源社区和各大互联网公司纷纷进行大数据实时 Ad-Hoc 查询计算产品的研发,Facebook 于 2012 年秋季开始开发 Presto,目前该产品已经在超过 1000 名 Facebook雇员中使用,每天运行超过 30000 个查询,每日查询数据量在 1PB 级别。 Facebook 称 Presto的性能比 Hive 要好上 10 倍还多,2013 年 Facebook 正式宣布开源 Presto。
Presto特性:
多数据源
目前 Presto 可以支持 My SQL、 PostgreSQL、 Cassandra、 Hive、 Kafka、 JMX 等多种 Connector,除此之外,京东商城改造之后的 Presto 也能够很好地支持 Oracle、 SQLServer,并且可以支持分库分表以及数据快速读取的功能
支持 SQL
Presto 已经可以完全支持 ANSI SQL,并提供了一个 SQL Shell 给用户,用户可以直接使用ANSI SQL 进行数据查询和计算。
扩展性
Presto 有很好的扩展性,开发人员可以很容易地开发出适用于自己特定数据源的 Connector,并且可以使用 SQL 语句查询和分析自定义 Connector 中的数据,读者可以参照第 12 章开发出自定义 Connector。
混合计算
在数据库中每种类型的数据源都对应于一种特定类型的 Connector,用户可以根据业务需要在 Presto 中针对于一种类型的 Connector 配置一个或者多个 Catalog 并查询其中的数据,用户可以混合多个 Catalog 进行 join 查询和计算。
高性能
经过 Facebook 和京东商城的测试,Presto 的查询的平均性能是 Hive 的 10 倍以上
流水线
由于Presto 是基于 PipeLine 进行设计的,因此在进行海量数据处理的过程中,终端用户不用等到所有的数据都处理完毕才能看到结果,而是可以像自来水管道一样,一旦计算开始,就可以立即产生一部分结果数据,并且结果数据会一部分接一部分地呈现在终端客户面前。
麦肯锡曾言:
数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。