Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sebastianschmidl/dodo
distributed Order-dependency Detection optimization - A HPI seminar work at the chair of Information Systems
https://github.com/sebastianschmidl/dodo
akka akka-cluster order-dependencies order-dependency-discovery scala
Last synced: about 1 month ago
JSON representation
distributed Order-dependency Detection optimization - A HPI seminar work at the chair of Information Systems
- Host: GitHub
- URL: https://github.com/sebastianschmidl/dodo
- Owner: SebastianSchmidl
- License: mit
- Created: 2019-04-16T09:42:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-06T13:53:41.000Z (over 5 years ago)
- Last Synced: 2024-11-10T16:18:59.636Z (about 2 months ago)
- Topics: akka, akka-cluster, order-dependencies, order-dependency-discovery, scala
- Language: Scala
- Homepage:
- Size: 10.3 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# dODo [![Build Status](https://travis-ci.com/CodeLionX/dODo.svg?branch=master)](https://travis-ci.com/CodeLionX/dODo) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/20fbc150e3fc42eebf484ba03ee196ad)](https://www.codacy.com/app/CodeLionX/dODo?utm_source=github.com&utm_medium=referral&utm_content=CodeLionX/dODo&utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/20fbc150e3fc42eebf484ba03ee196ad)](https://www.codacy.com/app/dodo/dODo?utm_source=github.com&utm_medium=referral&utm_content=CodeLionX/dODo&utm_campaign=Badge_Coverage)
**d**istributed **O**rder-Dependency **D**iscovery **o**ptimization - An HPI seminar work at the _Information Systems_ chairLink to data sets: [HPI Repeatability: FDs](https://hpi.de/naumann/projects/repeatability/data-profiling/fds.html).
## Running the algorithm
You can configure the algorithm before packing it into a `jar` in the [`application.conf`-file](./src/main/resources/application.conf).
For all available options please consider the [`reference.conf`-file](./src/main/resources/reference.conf).After the algorithm was packaged, you can still change some configuration options via the CLI.
Use the option `--help` to display the help page shown below:```
UsagedODo [options] : Distributed Order dependency Discovery Optimization - discover order dependencies through order compatibility dependencies in CSV files
Options
--host : this machine's hostname or IP to bind against
--input-file : path to the input CSV file. Required for the seed node! If not specified, this node tries to fetch the data from another node (potentially the seed node).
--port : port to bind against
--seed-host : hostname or IP address of the cluster seed node
--seed-port : port of the cluster seed node```
There are different ways to run the algorithm.
They are described in the following sections.### Using SBT
Please make sure that you have SBT version >= 1.2.8 installed and your `JAVA_HOME` is pointing to a JRE or JDK 1.8.x installation.
Newer versions of Java are not supported!Issue the following command from the project root directory:
```bash
sbt "run --host=localhost --port=7877"
```The double quotes around the `run` command and the program arguments are necessary.
### Using IntelliJ
1. Create a new run configuration.
- Add new configuration of type `Application`
- Set as the main class.
- You can add the above options as `Program arguments`. See screenshot below.![Create new run configuration screenshot](./doc/pictures/create-run-configuration.png)
2. Execute the new run configuration.
### Running the jar (for production)
1. First build and package the application by running `sbt assembly`.
This will create a fat jar (uber jar) that can be run independently.
2. Run the application with `java -jar .jar --help`.
Only Java version 1.8.x is supported!## Contributing
If you want to contribute to this project, you are more then welcome to do so.
Please read the [contribution guidlines](./CONTRIBUTING.md) before submitting new issues or pull requests.## Helpul Commands
You can change the settings specified in the packed configuration files by supplying them during start of the application with:
`java -jar -Dcom.github.codelionx.dodo.input-file=data/flight_1k.csv -Dakka.remote.artery.canonical.port=7878 dodo-assembly-0.0.1.jar`