Interface DataSourcePlugin


public interface DataSourcePlugin
Extension point for data source implementations. Plugins implementing this interface will be discovered by ESQL at startup via Elasticsearch's plugin discovery mechanism.

This interface allows plugins to provide:

  • Storage providers (S3, GCS, Azure, HTTP) for accessing data - keyed by URI scheme
  • Format readers (Parquet, CSV, ORC) for parsing data files - keyed by format name
  • Table catalog connectors (Iceberg, Delta Lake) for table metadata - keyed by catalog type
  • Custom operator factories for complex datasources - keyed by source type
  • Filter pushdown support for predicate pushdown optimization - keyed by source type
  • Decompression codecs for compound extensions (e.g. .csv.gz) - via decompressionCodecs(Settings)

All methods have default implementations returning empty maps/lists, allowing plugins to implement only the capabilities they provide.

Note: Method names follow the project convention of omitting the "get" prefix since there are no corresponding setters.