News for hackers. Stuff that matters.
Re:Mara: A lightweight ETL framework, halfway between plain ... by notamy on Wednesday May 09, 2018 @11:03AM (#17030350)
What exactly IS an "ETL framework"? I looked at both this project and Apache Airflow, and I'm not quite sure I understand...
Re:Mara: A lightweight ETL framework, halfway between plain ... by shadowmint on Wednesday May 09, 2018 @11:11AM (#17030407)
Basically software for batch processing a tonne of data.

eg. importing a SAP feed into a database, or loading a bunch of csv files, or like processing a bunch of images...

...anything where you have to convert data from some source through a series of steps (typically a DAG) into some useful output.

However, its often misused.

For example, if you have a trivial amount of data, or trivial process an ETL is over engineered cruft where a simple script would do.

So there are many (rubbish) ‘simple ETL frameworks’ which offer zero value and technical complexity for no benefit.

Unless you need multiple servers processing data through multiple steps and you need the auditing and process control... you probably don’t need an ETL, just a simple script.

Re:Mara: A lightweight ETL framework, halfway between plain ... by cosmie on Wednesday May 09, 2018 @11:25AM (#17030535)
> you probably don’t need an ETL, just a simple script.

+1

> Unless you need multiple servers processing data through multiple steps and you need the auditing and process control

I'll stress the "multiple servers" part. You can add in a substantial amount of multiple, sequential steps and auditing and process control in a simple script. The part that adds orders of magnitude worth of complexity and operational overhead and points of failure is being able to distribute it to multiple servers. Distributed architectures are operationally and architecturally expensive. And far more often than not, completely unnecessary for a given use case.

Re:Mara: A lightweight ETL framework, halfway between plain ... by bduerst on Wednesday May 09, 2018 @11:58AM (#17030853)
Some ETLs these days are simple scripts - e.g. Spark, Dataflow - with their config files.
Re:Mara: A lightweight ETL framework, halfway between plain ... by cosmie on Wednesday May 09, 2018 @12:28PM (#17031174)
Being able to define an ETL workload within a simple script is not the same as your ETL system itself being a simple script.

While I love both Spark and Dataflow, both of them are incredibly complex distributed systems with very high operational costs. Someone, somewhere is paying a lot of money to have an operational resource maintain that complexity. Whether you have an internal devops resource doing so or you're using a managed service, you're paying for that complexity somehow. And, for a lot of workloads, you aren't actually getting any more value than you would from standing up a ~$50/month standard Debian/Ubuntu server and a set of simple scripts on it.

Re:Mara: A lightweight ETL framework, halfway between plain ... by Mironor on Thursday May 10, 2018 @08:55AM (#17038402)
You don't have to have a cluster to run spark scripts, setting master to `local` (and running it on one machine) is often enough for small anounts of data.
Re:Mara: A lightweight ETL framework, halfway between plain ... by bduerst on Thursday May 10, 2018 @12:39PM (#17040479)
They don't have high operational costs - you can run them as a script on your local machine. You're making them out to be more complex than they really are.
Re:Mara: A lightweight ETL framework, halfway between plain ... by debacle on Wednesday May 09, 2018 @11:51AM (#17030772)
> batch processing

Not necessary. ETL these days can be streamed, realtime, etc.

Re:Mara: A lightweight ETL framework, halfway between plain ... by abd12 on Wednesday May 09, 2018 @11:07AM (#17030389)
To me, it's easiest to think of it as "Make, for data". Your ETL pipelines are often a complex graph of dependencies. If some step halfway down the chain fails, you don't want to restart at the very beginning -- you want to restart where it failed and keep moving.

The ETL frameworks (Airflow, Luigi, now Mara) help with this, allowing you to build dependency graphs in code, determine which dependencies are already satisfied, and process those which are not. They'll usually contain helper code for common ETL tasks, such as interacting with a database, writing to/reading from S3, or running shell scripts.

Re:Mara: A lightweight ETL framework, halfway between plain ... by martin_loetzsch on Wednesday May 09, 2018 @02:08PM (#17032260)
(author here).

Mara data integration is indeed a glorified version of Make (with cost based scheduling and lots of visualizations)

Re:Mara: A lightweight ETL framework, halfway between plain ... by Diederich on Wednesday May 09, 2018 @11:06AM (#17030382)
Re:Mara: A lightweight ETL framework, halfway between plain ... by thibaut_barrere on Wednesday May 09, 2018 @02:23PM (#17032402)
(I’m the author of a popular Ruby ETL framework named Kiba ETL)

An « ETL » framework is for me something that will allow you to express and run maintainable data pipelines, as a coder.

Kiba is exactly that, in the sense that it does not include built-in sources/transforms/destinations, but rather defines a set of guidelines you can follow to easily implement reusable ETL components with high quality & unit tests.

More information in the README: https://github.com/thbar/kiba/blob/master/README.md

Re:Mara: A lightweight ETL framework, halfway between plain ... by me_bx on Friday May 11, 2018 @07:59AM (#17046579)
+1 for the maintainability of an ETL framework brings, compared to "handmade" scripting...
Re:Mara: A lightweight ETL framework, halfway between plain ... by slenk on Wednesday May 09, 2018 @12:20PM (#17031076)
See the other comments also, but ETL stands for "Extract, Transform, Load"
Re:Mara: A lightweight ETL framework, halfway between plain ... by KirinDave on Wednesday May 09, 2018 @03:45PM (#17033264)
Let me give you a quippy answer:

Cron is awful for cloud-based deployments trying to keep data from multiple sources in sync and compute business-specific metrics over them.

ETL frameworks seek to address this pain by building a large stack of software around scheduling the running of and unifying the writing of these data munging tasks.

As such, they tend to be as awful as the sum of their dependencies minus some small constant quality factor. So, more awful than any one part but less awful than the storm you'd be howling into if you didn't take some sort of infrastructural solution.

Re:Mara: A lightweight ETL framework, halfway between plain ... by collyw on Wednesday May 09, 2018 @12:04PM (#17030916)
Extract Transform Load.

Getting data from one place to another - usually the end place being a structured database (or it ought to be).

If you have been in the industry over 10 years you probably used Perl or Python scripts.