Interface PiperPlugin
A plugin that can be dynamically loaded into a SeqsLab piper application.
Plugins can be loaded by adding the plugin's class name to the appropriate SeqsLab configuration
with Spark conf, e.g. --conf seqslab.piper.plugins=org.bio.WGSPipelinePlugin.
-
Method Summary
Modifier and TypeMethodDescriptiondefault PluginContext
init
(PiperContext context) Initialize the plugin.default Map<String,
CollectorSupport> Register dataset collecting operators published by the plugin with SeqsLab piper system.default Map<String,
ExecutorSupport> Register executing operators published by the plugin with SeqsLab piper system.default Map<String,
FormatterSupport> Register format transformation operators published by the plugin with SeqsLab piper system.default Map<String,
LoaderSupport> Register loader operators published by the plugin with SeqsLab piper system.default Map<String,
TransformerSupport> Register partitioning operators published by the plugin with SeqsLab piper system.Register UDAF as UserDefinedFunction published by the plugin using functions.udaf()Register UserDefinedFunction (UDF) published by the plugin with SeqsLab piper system.default Map<String,
WriterSupport> Register dataset saving operators published by the plugin with SeqsLab piper system.
-
Method Details
-
init
Initialize the plugin.- Parameters:
context
- Additional context about the SeqsLab application where the plugin is running.- Returns:
- A plugin-specific context that is used to initialize plugin-specific operators.
-
registerLoaders
Register loader operators published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named operator factory that will be registered into operator registry. The operator factory is used to created dataset loading operators when pipeline task requests.
-
registerTransformers
Register partitioning operators published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named operator factory that will be registered into operator registry. The operator factory is used to created dataset partitioning operators when pipeline task requests.
-
registerFormatters
Register format transformation operators published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named operator factory that will be registered into operator registry. The operator factory is used to created dataset format transformation operators when pipeline task requests.
-
registerExecutors
Register executing operators published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named operator factory that will be registered into operator registry. The operator factory is used to created operators that prepares datasets for task command execution when pipeline task requests.
-
registerCollectors
Register dataset collecting operators published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named operator factory that will be registered into operator registry. The operator factory is used to created operators that collects output files or datasets after task command execution is complete when pipeline task requests.
-
registerWriters
Register dataset saving operators published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named operator factory that will be registered into operator registry. The operator factory is used to created operators that save task command output files or collected datasets to specific storages when pipeline task requests.
-
registerUDFs
Register UserDefinedFunction (UDF) published by the plugin with SeqsLab piper system.- Returns:
- A map of uniquely-named udf that will be registered into sparkSession.
-
registerUDAFs
Register UDAF as UserDefinedFunction published by the plugin using functions.udaf()- Returns:
- A map of uniquely-named user defined function that will be registered into sparkSession.
-