martin_loetzsch
Joined 12 years ago
Joined 12 years ago
Work where others make vacation on building a modern green-field data infrastructure with Open Source technologies. Python, PostgreSQL, BigQuery as Data Lake, Kinesis for CDC / event streaming.
The problem with Make is lacking acceptance amongst younger programmers who always want to work with the latest technologies.
Currently there is a hard dependency to Postgres for the bookkeeping tables of mara. I'm working on dockerizing the example project to make the setup easier.
For ETL, Mysql, Postgres & SQL Server are supported (and it's easy to add more).
The __init__.py contains the pipeline, and the rest is the SQL files that do the transformations
The mara example project [1] does exactly that. It combines PuPI download stats with Github repo activity data.
It intentionally doesn't have a scheduler, just definition and parallel execution of pipelines. For scheduling, use Jenkins, cron or Airflow.
Currently you can get notifications for failed runs in slack. Alerting itself is not really in the scope of this project, but it should be easy to implement in a project.
That's absolutely correct. Mara uses Python's multiprocessing [1] to parallelize pipeline execution [2] on a single node so it doesn't need a distributed task queue. Beyond that (and visualization) it can't do much. In fact it doesn't even have a scheduler (you can use jenkins or cron for that).
[1] https://docs.python.org/3.6/library/multiprocessing.html
[2] https://github.com/mara/data-integration/blob/master/data_in...
Connection information is configured in code through [1], see [2] for an example.
It's very easy to run other workloads. Either by directly invoking Python functions from tasks or by writing own commands (operators)[3].
There is a command line. It's the interface for running from external schedulers (jenkins, cron)[4] & [5]
[1] https://github.com/mara/mara-db
[2] https://github.com/mara/mara-example-project/blob/master/app...
[3] https://github.com/mara/data-integration/blob/master/data_in...
[4] https://github.com/mara/data-integration/raw/master/docs/exa...
[5] https://github.com/mara/data-integration/raw/master/docs/exa...
Mara data integration is indeed a glorified version of Make (with cost based scheduling and lots of visualizations)