Custom Splitfile commands
It is possible to define custom Splitfile commands that follow the normal Splitfile execution semantics (cache invalidation and idempotency), allowing users to write their own transformation or data import stages.
A custom command has to extend
the PluginCommand
class
and implement at least one method, execute()
, that runs the command and
returns the command context hash which is combined with the hash of the previous
image to create the hash of the new image.
Additionally, the custom command can also implement calc_hash()
if it's able
to calculate the command context hash without actually running the command.
The Python class can then be registered in the .sgconfig
file as follows:
[commands]
COMMAND_NAME=module.with.my.CommandClass
For example, for a simple data importer that loads a file from HTTP,
calc_hash()
could return the hash of the file's last modified timestamp and
execute()
would perform the actual computation-heavy data import.
Custom commands are currently not supported by provenance tracking.
See the Python API reference for more information on building custom Splitfile commands.