Skip to content
This repository was archived by the owner on Jun 2, 2025. It is now read-only.

Commit fda745a

Browse files
Merge pull request #4 from ancasarb/update_mleap_version
update mleap dependency version with 0.13.0
2 parents 994bd52 + 06a5ac3 commit fda745a

File tree

9 files changed

+24
-16
lines changed

9 files changed

+24
-16
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/.idea
2+
.idea/
3+
target/
4+
*.iml

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
2.2
22
===
33

4-
Initial release of sagemaker-sparkml-serving-container, supporting Spark major version 2.2.
4+
Initial release of sagemaker-sparkml-serving-container, supporting Spark major version 2.2.
5+
6+
2.3
7+
===
8+
9+
Release of sagemaker-sparkml-serving-container, supporting Spark major version 2.3.

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ WORKDIR /sagemaker-sparkml-model-server
99

1010
RUN mvn clean package
1111

12-
RUN cp ./target/sparkml-serving-2.2.jar /usr/local/lib/sparkml-serving-2.2.jar
12+
RUN cp ./target/sparkml-serving-2.3.jar /usr/local/lib/sparkml-serving-2.3.jar
1313
RUN cp ./serve.sh /usr/local/bin/serve.sh
1414

1515
RUN chmod a+x /usr/local/bin/serve.sh

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ SageMaker SparkML Serving Container is primarily built on the underlying Spring
2222
Supported Spark/MLeap version
2323
=============================
2424

25-
Currently SageMaker SparkML Serving is powered by MLeap 0.9.6 and it is tested with Spark major version - 2.2.
25+
Currently SageMaker SparkML Serving is powered by MLeap 0.13.0 and it is tested with Spark major version - 2.3.
2626

2727
Table of Contents
2828
=================

ci/buildspec.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ phases:
99
commands:
1010
- echo Build started on `date`
1111
- echo Building the Docker image...
12-
- docker build -t sagemaker-sparkml-serving:2.2 .
13-
- docker tag sagemaker-sparkml-serving:2.2 515193369038.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sparkml-serving:2.2
12+
- docker build -t sagemaker-sparkml-serving:2.3 .
13+
- docker tag sagemaker-sparkml-serving:2.3 515193369038.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sparkml-serving:2.3
1414
post_build:
1515
commands:
1616
- echo Build completed on `date`
1717
- echo Pushing the Docker image...
18-
- docker push 515193369038.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sparkml-serving:2.2
18+
- docker push 515193369038.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sparkml-serving:2.3

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<modelVersion>4.0.0</modelVersion>
2525
<groupId>org.amazonaws.sagemaker</groupId>
2626
<artifactId>sparkml-serving</artifactId>
27-
<version>2.2</version>
27+
<version>2.3</version>
2828
<build>
2929
<plugins>
3030
<plugin>
@@ -154,7 +154,7 @@
154154
<dependency>
155155
<groupId>ml.combust.mleap</groupId>
156156
<artifactId>mleap-runtime_2.11</artifactId>
157-
<version>0.9.6</version>
157+
<version>0.13.0</version>
158158
</dependency>
159159
<dependency>
160160
<groupId>org.apache.commons</groupId>

serve.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22
# This is needed to make sure Java correctly detects CPU/Memory set by the container limits
3-
java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar /usr/local/lib/sparkml-serving-2.2.jar
3+
java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar /usr/local/lib/sparkml-serving-2.3.jar

src/main/java/com/amazonaws/sagemaker/controller/ServingController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public ResponseEntity performShallowHealthCheck() {
9494
public ResponseEntity returnBatchExecutionParameter() throws JsonProcessingException {
9595
final BatchExecutionParameter batchParam = new BatchExecutionParameter(SystemUtils.getNumberOfThreads(1),
9696
"SINGLE_RECORD", 5);
97-
final String responseStr = new ObjectMapper().writeValueAsString(batchParam);
97+
final String responseStr = mapper.writeValueAsString(batchParam);
9898
return ResponseEntity.ok(responseStr);
9999
}
100100

src/main/java/com/amazonaws/sagemaker/utils/ScalaUtils.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,18 @@
2323
import ml.combust.mleap.runtime.frame.DefaultLeapFrame;
2424
import ml.combust.mleap.runtime.frame.Row;
2525
import ml.combust.mleap.runtime.frame.Transformer;
26+
import ml.combust.mleap.runtime.javadsl.LeapFrameSupport;
2627
import org.apache.commons.lang3.StringUtils;
2728
import scala.collection.JavaConverters;
28-
import scala.collection.Seq;
2929

3030
/**
3131
* Utility class for dealing with Scala to Java conversion related issues. These functionalities are moved to this
3232
* class so that they can be easily mocked out by PowerMockito.mockStatic while testing the actual classes.
3333
*/
3434
public class ScalaUtils {
3535

36+
private final static LeapFrameSupport leapFrameSupport = new LeapFrameSupport();
37+
3638
/**
3739
* Invokes MLeap transformer object with DefaultLeapFrame and returns DefaultLeapFrame from MLeap helper Try Monad
3840
*
@@ -53,9 +55,7 @@ public static DefaultLeapFrame transformLeapFrame(final Transformer transformer,
5355
* @return the DefaultLeapFrame in helper
5456
*/
5557
public static DefaultLeapFrame selectFromLeapFrame(final DefaultLeapFrame leapFrame, final String key) {
56-
final Seq<String> predictionColumnSelectionArgs = JavaConverters
57-
.asScalaIteratorConverter(Collections.singletonList(key).iterator()).asScala().toSeq();
58-
return leapFrame.select(predictionColumnSelectionArgs).get();
58+
return leapFrameSupport.select(leapFrame, Collections.singletonList(key));
5959
}
6060

6161
/**
@@ -66,8 +66,7 @@ public static DefaultLeapFrame selectFromLeapFrame(final DefaultLeapFrame leapFr
6666
* @return ArrayRow which can be used to retrieve the original output
6767
*/
6868
public static ArrayRow getOutputArrayRow(final DefaultLeapFrame leapFrame) {
69-
final Iterator<Row> rowIterator = JavaConverters.asJavaIterableConverter(leapFrame.collect()).asJava()
70-
.iterator();
69+
final Iterator<Row> rowIterator = leapFrameSupport.collect(leapFrame).iterator();
7170
// SageMaker input structure only allows to call MLeap transformer for single data point
7271
return (ArrayRow) (rowIterator.next());
7372
}

0 commit comments

Comments
 (0)