This project contains an app that exports an embedded Akka-Http REST service, which allows for the querying of diet data via a Spark job.
Sequence scenario:
- App --- create ---> SparkInstance | Server | Router
- App --- check ---> Server | Router | SparkJob | SparkInstance
- Client --- http request ---> Router
- Router --- create ---> SparkJob
- Router --- request ---> SparkJob
- SparkJob --- response ---> Router
- Router --- http response ---> Client
This project uses Scala 2.12.12 and Spark 3.0.1.
Must use Java 8 due to Spark constraints.
Must use Log4j due to a Spark constraint.
- sbt clean compile
- sbt clean test
- sbt run
- Enter any key to stop app.
- sbt run
- curl http://localhost:7676/api/v1/diet/1/1
- Enter any key to stop app.
- sbt clean compile universal:packageZipTarball | windows:packageBin
- tar -xvzf ./target/universal/akka-http-spark-medical-${VERSION}.tgz -C ./target/universal
- sh ./target/universal/akka-http-spark-medical-${VERSION}/bin/akka-http-spark-medical
- sbt clean compile package
- chmod +x submit.sh ( required only once )
- ./submit.sh