Modellen importeren in uw toepassing

In dit artikel worden de import- en scoreonderdelen van een Databricks-werkstroom voor ML modelexport besproken; Zie Export Apache Spark ML modellen en pijplijnen voor het exportgedeelte van de werkstroom.

Als u modellen wilt gebruiken die zijn geëxporteerd via Databricks ML Model Export, roept u API's aan in de bibliotheek dbml-local . Deze bibliotheek biedt Scala- en Java-API's voor het importeren van modellen en het uitvoeren van lage latentiescores (voorspelling of deferentie).

Opgeslagen modellen gebruiken in Java-toepassingen

Stel dat u een logistieke regressiepijplijn hebt geëxporteerd en deze hebt opgeslagen onder my_models/lr_pipeline . U kunt gebruiken om een te maken op basis van de map van het ModelFactory LocalModel opgeslagen model en om nieuwe gegevens te scoren.

// Load exported model
String modelPath = "my_models/lr_pipeline";
LocalModel model = ModelFactory.loadModel(modelPath);

// The model input is a standard JSON string.
// The input schema here is: [origLabel: Double, features: Vector].
String input =
  "{\"origLabel\":-1.0," +
  "\"features\":{\"type\":0,\"size\":13," +
  "\"indices\":[0,2,3,4,6,7,8,9,10,11,12]," +
  "\"values\":[74.0,2.0,120.0,269.0,2.0,121.0,1.0,0.2,1.0,1.0,3.0]}" +
  "}";

// The model output is also a standard JSON string, with the expected output fields.
String output = model.transform(input);

De invoer accepteert dezelfde JSON-indeling die wordt geproduceerd door Apache Spark Datasets en DataFrames met behulp van de methode Dataset.toJSON (zie Dataset API docs (Documentatie voor gegevensset-API). Zie de dbml-local API-documenten voor meer informatie.

De afhankelijkheid van dbml-local de bibliotheek opgeven in Maven

U geeft de afhankelijkheid van de bibliotheek op voor een toepassing, net als elke andere dbml-local afhankelijkheid, met een Maven-coördinaat. Het volgende codefragment bevat een voorbeeld van het in een dbml-local Maven-project pom.xml build-bestand.

<!-- Add repository for dbml-local dependency -->
 <repositories>
   <repository>
     <snapshots>
       <enabled>false</enabled>
     </snapshots>
     <id>bintray-databricks-maven</id>
     <name>bintray</name>
     <url>https://dl.bintray.com/databricks/maven</url>
   </repository>
 </repositories>

 <dependencies>
   <!-- Main dependency for Model Scoring -->
   <dependency>
     <groupId>com.databricks</groupId>
     <artifactId>dbml-local</artifactId>
     <version>0.2.2-spark2.2</version>
   </dependency>
 </dependencies>

dbml-localJAR's downloaden

De dbml-local JAR's zijn beschikbaar via bintray.

dbml-local Licentie

De dbml-local bibliotheek wordt gepubliceerd onder de MIT-licentie.

Voorbeeldtoepassing

U kunt een zeer eenvoudige voorbeeldtoepassing bekijken die laat zien hoe u de Databricks ML Model Export-companionbibliotheek gebruikt in de dbml-local Github-opslagplaats databricks-ml-examples. Deze demo bevat Databricks-notebooks voor het trainen en exporteren van MLlib-modellen. Deze notebooks zijn gekoppeld aan eenvoudige Java-toepassingen die laten zien hoe u modellen importeert en voorspellingen doet.