presto

作者: TonyChai | 来源:发表于2018-04-30 22:46 被阅读28次

    架构

    image.png
    1. 简述流程
      1.1 客户端通过http协议发送一个查询sql给coordinator
      1.2 coordinator接收到查询sql,会对该sql进行解析,生成查询执行计划,并依次生成相应的sqlqueryexecution, sqlstageexecution, httpremotetask.
      1.3 coordinator将每个task都分发到相应的task上进行执行。这个过程是通过htttpremotetask中的httpclient将创建或者更新task发送给相应task的worker节点taskresource所提供的restful接口,然后启动一个sqltaskexecution处理需要处理的split。
      1.4 上游的stage的task通过各种connector从相应的数据源取得数据
      1.5 下游的stage的task会读取上游stage的数据结果,并在内存中做相应的处理和计算
      1.6 coordinator从分发task后,就会一直不断的从single stage中的task获取计算结果,并将计算结果缓存到buffer中,知道所有的计算都结束
      1.7 client也会不断的从coordinator中获得结果

    安装

    1. 下载编译,配置集群机器,分发服务
    2. 配置文件:内存,超时,log,jvm等
    3. connector和 catalog 一一对应,配置catalog信息
    4. 启动关闭等

    restful

    1. 基于http rest的分布式调用
    2. stagement,query,stage,task各个级别的rest服务及处理

    提交查询

    1.cli根据query sql生成request,通过http rest传送给coordinator
    2.然后用waitfor等待response回调

    相关文章

      网友评论

          本文标题:presto

          本文链接:https://www.haomeiwen.com/subject/mdbtrftx.html