Presto 几乎所有的操作都依赖于AirLift框架构建的Restful风格来完成的。
AirLift: 开源框架,用于在 Google App Engine for Java 上创建服务器端 JavaScript Web 应用程序。
Presto总共提供四类RestFul接口,分别是Statement接口,Query接口,Stage接口,Task接口。(源码版本是0.225)
一 Statement服务接口
与Sql语句相关的请求均有这个服务接口处理,包括接受提交的SQL语句,获取查询执行的结果,取消查询等。Statement实现类为StatementResource,位置位于 presto-main模块下com.facebook.presto.server.protocol包下,部分源码如下:
二 Query服务接口
与查询执行相关的RESTFul请求均由Query服务接口处理。包括获取查询执行的结果,取消查询等。Query服务接口的实现类为QueryResource,位置位于 presto-main模块下com.facebook.presto.server包下
三 Stage服务接口
取消或者结束一个指定的Stage
四 Task服务接口
Task 创建,更新,状态查询,删除,结果查询等。实现接口为TaskResource ,位置位于 presto-main模块下com.facebook.presto.server包下,部分源码如下: