Skip to content

robwhiteston/data-lineage-for-data-lake-example

 
 

Repository files navigation

Data Lineage for Data Lakes Example

This repository contains an example project for building Data Lineage for data lakes using AWS Glue, Amazon Neptune and Spline Agent.

Remarks: This setup works with AWS Glue Data Permissions Model and does not support Lake Formation Permission Model.

Stack

  • API: HTTP API powered by an API Gateway and lambda functions
  • Frontend: Vue.js application

Build & Deployment

To deploy the solution to AWS Cloud with terraform, export your AWS Credentials to terraform (AWS Profile or environment variables)

alt text

brew install terraform
git clone https://github.com/aws-samples/data-lineage-for-data-lake-example.git
cd data-lineage-for-data-lake-example

# download spline agent jar
wget https://repo1.maven.org/maven2/za/co/absa/spline/agent/spark/spark-3.1-spline-agent-bundle_2.12/0.6.1/spark-3.1-spline-agent-bundle_2.12-0.6.1.jar -O ./asset/lib/spark-3.1-spline-agent-bundle_2.12-0.6.1.jar

terraform init

terraform apply

To build and test the lineage visual application locally:

  • update the lineage backend address in src/lineage-visual/src/main.js
axios.defaults.baseURL = "https://xxx.execute-api.<aws-region>.amazonaws.com/dev";
cd src/lineage-visual
npm install
npm run serve

Getting started

  • Run the first Glue Job
aws glue start-job-run --job-name "RawToCurated_employee_optimize"
  • Open the lineage visual application
  • Run the second Glue Job
aws glue start-job-run --job-name "CuratedToAggregated_employee"
  • Refresh the lineage visual application

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.2%
  • HCL 29.0%
  • Vue 15.1%
  • JavaScript 1.4%
  • Other 1.3%