Presto-[13]-Connectors

来源:互联网 发布:矩阵奇异值分解步骤 编辑:程序博客网 时间:2024/06/06 03:27

原文

https://prestodb.io/docs/current/develop/connectors.html

 Connectors

Connectors是presto查询的数据源,即便你的数据源中没有潜在的tables,只要适配Presto可感知的API,即可查询数据

ConnectorFactory

connector实例通过调用getConnectorFactory()进而调用 ConnectorFactory  创建,connector factory用于建立connector,返回以下services 实例:

  • ConnectorMetadata
  • ConnectorSplitManager
  • ConnectorHandleResolver
  • ConnectorRecordSetProvider

ConnectorMetadata

connector metadata interface 有很多重要的方法,负责让Presto感知特定数据源的schemas的lists,lists of tables, lists of columns, and other metadata。具体可参照Example HTTP Connector 和 Cassandra connector.如果你的数据源支持 schemas, tables and columns,该接口可以简单直接的被实现。否则你需要设计如果把你的 data source映射到 Presto的schema, table, and column concepts.

ConnectorSplitManger

split manager 将一个table的数据分区partitions成不同的chunks,Presto将这些chunks分发到workers处理。例如hive connector 将hive分区列举出来,为每个文件建立一个或多个split。如果数据源没有分区,整个表table以一个split简单返回也是一个不错的策略。(如HTTP connector

ConnectorRecordSetProvider

有了split和columns列表,record set负责将data数据分发到presto的执行engine上去。它会建立一个  RecordSet,RecordSet 返回一个RecordCursor ,用于presto 为每一行row读取列的values
原创粉丝点击