USE CASE:
- Implemented an ETL pipeline to load a local CSV file (data source) into a H2 database (in memory)
- The CSV file is located in the resources directory for simplicity and demo purpose
- Implemented some Apache Beam PTransforms and business rules
- Stored the raw and aggregated data into database
- Implemented a Spring Boot REST API to get the aggregated data
- Java 17
- Maven 3.8
Clone this repo and execute these commands from the root directory:
mvn clean package
mvn spring-boot:run
curl -X GET http://localhost:8080/api/v1/producers/awards | json_reformat
user: sa
password: <empty>
Table representing the Raw Data (not normalized) for analytics purpose:
Table representing the aggregated data and calculated metrics (year of awards and their intervals):
Nicholas Moises: Linkedin profile