美文网首页
Presto中的插件

Presto中的插件

作者: liuzx32 | 来源:发表于2020-06-18 18:36 被阅读0次

插件

了解了presto的数据模型,就可以给presto编写插件,来对接自己的存储系统。presto提供了一套connector接口,从自定义存储中读取元数据,以及列存储数据。先看connector的基本概念:

  1. ConnectorMetadata: 管理表的元数据,表的元数据,partition等信息。在处理请求时,需要获取元信息,以便确认读取的数据的位置。Presto会传入filter条件,以便减少读取的数据的范围。元信息可以从磁盘上读取,也可以缓存在内存中。
  2. ConnectorSplit: 一个IO Task处理的数据的集合,是调度的单元。一个split可以对应一个partition,或多个partition。
  3. SplitManager : 根据表的meta,构造split。
  4. SlsPageSource : 根据split的信息以及要读取的列信息,从磁盘上读取0个或多个page,供计算引擎计算。

插件能够帮助开发者添加这些功能:

  1. 对接自己的存储系统。
  2. 添加自定义数据类型。
  3. 添加自定义处理函数。
  4. 自定义权限控制。
  5. 自定义资源控制。
  6. 添加query事件处理逻辑。

Presto提供了一个简单的connector : local file connector ,可用于参考如何实现自己的connector。不过local file connector中使用的遍历数据的单元是cursor,即一行数据,而不是一个page。 hive 的connector中实现了三种类型,parquet connector, orc connector, rc file connector。

image.png

上文从宏观上介绍了presto的一些原理,接下来几篇文章让我们深入presto 内部,了解一些内部的设计,这对性能调优会有比较大的用处,也有助于添加自定义的operator。

相关文章

  • Presto中的插件

    插件 了解了presto的数据模型,就可以给presto编写插件,来对接自己的存储系统。presto提供了一套co...

  • presto的权限管控

    1、 presto的插件 因为自定义鉴权也相当于是一个插件,所以要先介绍插件写法 1.1、presto的插件引入 ...

  • Google Guice 分析

    最近工作中使用到了 Presto 作为分布式即席查询引擎,其中插件相关的管理基本使用 Guice 注入框架进行插件...

  • Presto SPI概述

    实现新的Presto插件时,将实现接口并覆盖SPI定义的方法。 插件可以提供连接器,类型,功能和系统访问控制。连接...

  • presto中的一些概念

    一.Presto中的节点类型 presto中含有两种节点类型:coordinator和worker。 1.Coor...

  • Presto 配置

    Presto架构图 下载presto-server-317.tar.gz解压到/opt/app/presto-se...

  • 2019ICDE-Presto: SQL on Everythi

    今天学习一下hadoop生态中著名的分布式SQL引擎Presto。本文发表于2019年,但是presto从2013...

  • presto jdbc java

    com.facebook.presto presto...

  • Presto源码分析之Slice

    Slice是Presto里面用来对内存高效地、自由地进行操作的接口。它在Presto里面很关键, Presto里面...

  • 目录

    基于presto0.155,以一条主线 : cli查询presto+hive返回 一、cli与presto通信机制...

网友评论

      本文标题:Presto中的插件

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