This documentation is for Machine Learner 1.0.0. View documentation for the latest release.
||
Skip to end of metadata
Go to start of metadata

WSO2 ML has a set of input/output adapters that are used to read/write data. You can extend WSO2 ML input/output adapters using a fragment bundle of org.wso2.carbon.ml.core bundle as explained below. For a sample custom adapter extension implementation, see ML Custom Adapter Extension.

WSO2 ML 1.0.0 does not support uploading datasets from storages defined by custom input adapter implementations.

  1. Create a Maven project.
  2. Copy the content in the pom.xml file of the Git sample to the pom.xml file of your project.
  3. Change the values of the <groupId> and <artifactId> properties in the pom.xml file as preferred.
  4. Create a Java class in your project which implements the MLInputAdapter interface, by adding the content in the CustomMLInputAdapter.java file.

    You need to create a Java class in your project which implements the MLOutputAdapter interface for custom output adapter extensions.

  5. Override the read(String path) Java method with your custom input adapter implementation.

    You need to override the write(String outPath, InputStream in) Java method for custom output adapter implementations.

  6. Build the bundle by executing the following command: mvn clean install
  7. Copy the built bundle to the <ML_HOME>/repository/components/dropins/ directory.
  8. Add a new property element with a preferred name to the <ML_HOME>/repository/conf/machine-learner.xml file corresponding to your new adapter as shown in the example below.

    The property name for input/output adapters must end with the ".in" and ".out" suffixes accordingly.

    <Property name="custom.in" value="org.wso2.carbon.ml.custom.adapter.input.CustomMLInputAdapter"/>
  9. Set up the custom input/adapter related configurations in the <Ml_HOME>repository/conf/ml-datasources.xml file. For instructions, see Input/output handling configurations and Storage configurations.

  • No labels