Live data from Hacker News

Using an ETL framework vs. writing yet another ETL script

airbyte.io

51–60 of 77 posts

Re: Using an ETL framework vs. writing yet another ETL script

#51
post #41

I've just been spinning up new C# console projects in VS and pulling down Dapper to do most nasty ad-hoc things between databases. I never bother to save any of these to source control because the boilerplate is negligible and its usually a one-time deal.

love dapper

Re: Using an ETL framework vs. writing yet another ETL script

#53
Lot of dislikes on this - but I find Airbyte to be a great idea - and really exciting for a lot of people. Just because you -can- write a SQL extract in CRON - you're missing a lot of the features that you don't have to face until you hit scale. At that point you're in trouble.

Re: Using an ETL framework vs. writing yet another ETL script

#54
There's a despair that overcame me when the data we were processing changed date/time format in the middle of a file. It was a file for one day's data! Data on 5 minute intervals for 3 thousand data sources. Received in an email, no less. (Long story). But date/time format changed. The initial load was garbage. As many know, some countries use mm/dd/yy and others dd/mm/yy. I just wanted to cry when I dug in and saw the change. Instead, I hacked a little more on our lowly ETL script to check for this circumstance. This was just one example of an ongoing stream of data weirdness, as ETLers everywhere know.

In an early startup, (< 4 engineers in my case) I can't imagine using anything but a skanky script at the outset. We went broke before we needing a framework. Needed more engineering time on other things.

Re: Using an ETL framework vs. writing yet another ETL script

#55
post #23

Can any of these ETL frameworks kick off an ETL script without a rewrite? Something that would handle scheduling, retries, emit metrics around those actions, but let me use my own tools for the actual data manipulation.

We use Jenkins for essentially this right now, and it works fine (especially if you have someone who knows Jenkins already).

Second this. Jenkins is far and away the best generalized tool for running scheduled jobs, including ETL jobs.

Re: Using an ETL framework vs. writing yet another ETL script

#56
Very, very flawed reasoning here. It's basically arguing that YAGNI as a principle is exactly backwards: you're definitely going to need all this stuff eventually so embrace maximum complexity from day 1. Terrible, terrible strategy.

The only ETL framework you need is a general-purpose programming language. Cf. that article "You can't buy integration" from the other day.

Re: Using an ETL framework vs. writing yet another ETL script

#58

ETL was actually a new acronym for me: Extract, Transform, Load. https://en.m.wikipedia.org/wiki/Extract,_transform,_load

Please be aware there is also a newer concept, which is ELT. Extract Load Transform.

This is the data lake principle: you firstly dump all data verbatim into one coherent data storage. (data ingestion phase)

The transform will eventually be done by the data scientists (data curation phase).

The data curation is really difficult as it requires in-depth knowledge of the data, removing of slack, creation and lookup of reference data, data normalization for the datawarehouse schema, etc.

The data ingestion is relatively easy task, because the dirty data is just collected from upstream databases without any processing/conversion.

I believe data lakes is kind of "cheating" by IT departments.

Re: Using an ETL framework vs. writing yet another ETL script

#59
I'm interested in the concept, but i couldnt find a demo or 'hello world' example to look at. This is a very important aspect of promoting a new product.

Look at how Prefect does that (I know they are well along the path), but sonething is missing.

Re: Using an ETL framework vs. writing yet another ETL script

#60
post #6

I've always found ETL frameworks to have their own problems. They seem great on paper but usually they don't account for a specific source system, APIs, applications, data size, data distribution or scheduling situations. If your project is using it then developers end up hacking the frameworks instead of writing simple code that does the specific thing they need to do. Before you know it you have super long and supe…

I agree. I've used AWS Data Pipelines for some jobs but there is a steep learning curve. It is good for launching servers on demand to run your ETL jobs if you need that. The best solution I have found is writing ETL scripts in Laravel which I use for most projects anyway. The framework has built-in scheduling and error reporting.

FYI i think Data Pipelines has not been actively developed for a while and is a 'zombie' product.
Post reply on HN