Open kishoreg opened 4 years ago
For data part, we also need to make index writer logic pluggable.
Grepped for all interfaces in pinot-core. We can start by selecting the interfaces that should be part of query-spi.
+1
I'm interested in adding a pluggable geospatial module, and I think it demands several pluggability points.
TransformFunction
Operator
Datasource
Block
and their dependencies (e.g. DataSourceMetadata
, DataFileReader
,BlockDocIdSet
and many others)IndexBuilder
interface that SegmentIndexCreationDriverImpl
can call to build the index. In addition, some configuration interface to specifying the index-specific configurationsIndexSegment
for loading the index structures (similar to how getStarTrees
is added to IndexSegment
)
After extracting the plugins, the next logical step is to clean up pinot-core and pinot-common. Similar to pinot-spi, we should extract all interfaces from common and core into something like pinot-query-spi.
Creating this issue to list all the interfaces we want to extract out.
Here is the list (will keep this up to date based on the comments)
What else?