Custom Stage Libraries

If you develop custom stages, make the stage libraries available to engine instances by including the libraries in an external resource archive configured for the deployment.

We have tutorials for creating a custom origin, processor, and destination on our StreamSets tutorials page. To check them out, go to: https://github.com/streamsets/tutorials.

Including Custom Libraries in an External Resource Archive

To make custom stage libraries available to engine instances, include the libraries in an external resource archive configured for the deployment.

  1. Copy the custom stage libraries to the following directory, using a unique subfolder for each custom stage:
    externalResources/user-libs/<custom_stage>
    For example to store libraries for a custom stage named customstage1, you would copy them to the following directory:
    externalResources/user-libs/customstage1
  2. When using the Java Security Manager, which is enabled by default, update the engine security policy to include the custom stage library directory as follows:
    1. In Control Hub, edit the deployment, and in the Configure Engine section, click Advanced Configuration. Then, click Security Policy.
    2. Add the following lines to the file:
      // custom stage library directory
      grant codebase "file://${sdc.userLibs.dir}/<custom stage library directory>/-" {
        permission java.security.AllPermission;
      };
      For example:
      // custom stage library directory
      grant codebase "file://${sdc.userLibs.dir}/customstage1/-" {
        permission java.security.AllPermission;
      };
  3. In Control Hub, set up an external resource archive that includes these libraries, and then configure the deployment to use that archive.

    For instructions, see Archive File as the Source.