Live data from Hacker News

Engineers Shouldn’t Write ETL

multithreaded.stitchfix.com

121–130 of 178 posts

Re: Engineers Shouldn’t Write ETL

#121

Earlier quoted context omitted.

Fellow amazonian here. We switched from a massively distributed datastore (not to be named) to rodb for storage and found 10x improvement, not to mention eliminating cost and other head-aches; kind of expected since rodb is an embedded db...

What is rodb?

Read-only DB. Think of it as read-only memory mapped key/value store.

Re: Engineers Shouldn’t Write ETL

#122

Earlier quoted context omitted.

This is so true. I do business intelligence at Amazon, and I've seen this play out millions of times over. The fetishization of big data ends up meaning that everybody thinks their problem needs big data. After 4 years in a role where I am expected to use big data clusters regularly, I've really only needed it twice. To be fair, in a complex environment with multiple data sources (databases, flat files, excel docs, s…

Fellow amazonian here. We switched from a massively distributed datastore (not to be named) to rodb for storage and found 10x improvement, not to mention eliminating cost and other head-aches; kind of expected since rodb is an embedded db...

I'd like to know what rodb is. Columnar DB? Columnar DBs often beat "big data" -I've beaten decent sized spark clusters in one thread of J.

Re: Engineers Shouldn’t Write ETL

#124

Earlier quoted context omitted.

thanks for the SQLite tip, I've been meaning to add it to my tool set. question: is SQLite incrementally helpful when I'm already comfortable with a local pgsql db to handle the use case you suggested? would SQLite be redundant for me in this case? question: between postgres and unix tools (sed, awk) is there reason to use SQLite?

Reasons to prefer sed/awk: you're in bash Reasons to prefer sqlite: it's easier to embed in an app, you want sort, join, split-apply-combine, scale, transactions, compression, etc. Reasons to prefer pgsql: sqlite's perf tools suck compared to pgsql (last time I got stuck anyway) and I'm sure there are lots of sql-isms that sqlite doesn't handle if that's your jam. EDIT: forgot everything-is-a-string in sqlite, just w…

don't forget bdb!

Re: Engineers Shouldn’t Write ETL

#125
post #6

This author seriously needs to expand all of his TLIs (three-letter initialisms) the first time he uses them, as any writer worth his or her salt would do. There are those who may be interested in what he has to say, but can't follow because of assuming abbreviations.

It's a pretty common acronym in the field, actually.

Maybe in the data science field, but not in the tech field more generally. Probably doesn't help that the thread title didn't specify it was data science-related.

Re: Engineers Shouldn’t Write ETL

#126
post #85

Earlier quoted context omitted.

The data scientists I work with are statistics PhDs. The extent of their programming knowledge is R and SQL. What are they supposed to do if the data they need to analyze is only available through a SOAP API you log into with OAuth, and they need to log in once a day to retrieve the latest day of data? Unless you're a software engineer, you probably don't have the skillset necessary to easily get that data. The data…

What you are describing is a statistician and that's perfectly fine, but lumping them in with data scientists devalues the role for those of us doing more.

How would you differentiate the roles of statistician, data scientist, and data engineer? I've used and heard the titles "statistician" and "data scientist" used interchangeably, and the Wikipedia entry for data science [1] gives evidence to support that usage since the late 90s:

"In November 1997, C.F. Jeff Wu gave the inaugural lecture entitled "Statistics = Data Science?" for his appointment to the H. C. Carver Professorship at the University of Michigan. In this lecture, he characterized statistical work as a trilogy of data collection, data modeling and analysis, and decision making. In his conclusion, he initiated the modern, non-computer science, usage of the term "data science" and advocated that statistics be renamed data science and statisticians data scientists."

From the same article, a quote from Nate Silver:

"I think data-scientist is a sexed up term for a statistician....Statistics is a branch of science. Data scientist is slightly redundant in some way and people shouldn’t berate the term statistician."

If your skillset differs from a statistician, then calling yourself a data scientist is not going to be a differentiating title in common parlance.

[1] https://en.wikipedia.org/wiki/Data_science#History

Re: Engineers Shouldn’t Write ETL

#127
I would take this a step further and say NOBODY should write their own ETL. In a world where:

1. SaaS services have APIs

2. Your database is hosted in the cloud

3. You use a standard SQL data warehouse that is also hosted in the cloud.

ETL from (1, 2) to (3) is a completely standard problem, and you should be able to buy a fully-automated solution. My company (Fivetran) does this as a service. We've replaced lots of homebrew data pipelines built by our customers, and we always see the same issues:

* Homebrew ETL pipelines use fancy big-data tech like Hadoop and Kafka in places where it has no relevance, like syncing your 20 GB Salesforce instance.

* Homebrew ETL pipelines don't deal with all the dark corners of the data sources, such as: what happens when someone adds a new custom column? What happens when your MySQL read replica fails over and a new binlog starts? Etc.

The lesson being, don't do this yourself.

Re: Engineers Shouldn’t Write ETL

#128
post #126

Earlier quoted context omitted.

What you are describing is a statistician and that's perfectly fine, but lumping them in with data scientists devalues the role for those of us doing more.

How would you differentiate the roles of statistician, data scientist, and data engineer? I've used and heard the titles "statistician" and "data scientist" used interchangeably, and the Wikipedia entry for data science [1] gives evidence to support that usage since the late 90s: "In November 1997, C.F. Jeff Wu gave the inaugural lecture entitled "Statistics = Data Science?" for his appointment to the H. C. Carver Pr…

I think the quote and definition from the blog is a good one: “better engineers than statisticians and better statisticians than engineers”. Perhaps that 1997 quote was influential in the decision to use the term Data Science, I think the current usage encompasses much more than statistics. When I started it required the ability to push production code, build statistical models, and communicate results effectively. Maybe I'm wrong and maybe the tools got better, but for a while, you couldn't provide value if you couldn't get to the data or create the data you needed.

Re: Engineers Shouldn’t Write ETL

#129

Nobody enjoys writing and maintaining data pipelines or ETL. It’s the industry’s ultimate hot potato. It really shouldn’t come as a surprise then that ETL engineering roles are the archetypal breeding ground of mediocrity. There is nothing more soul sucking than writing, maintaining, modifying, and supporting ETL to produce data that you yourself never get to use or consume. This is like... your opinion. Some people…

I don't think the author would disagree with you on that. His main point is that engineers don't want to be in a role where all he/she is doing is productionizing someone else's ideas. There should be areas of end-to-end ownership for both the engineering team and the data science team.

It doesn't sound like he's suggesting here that some types of technology are just generally horrible to work with or that it sucks to build ETL jobs in general. Maybe he could have done a better job defining what he meant by ETL engineer here, but he does qualify it in that quote with "ETL to produce data that you yourself never get to use or consume."

In general, roles that offer little areas of ownership do draw mediocre engineers.

Re: Engineers Shouldn’t Write ETL

#130
All the angst about "big" data that "isn't big" is based on a false premise. "Big data" was NEVER just about scale, but rather intended to be equally descriptive of diversity as well as velocity. The problem is that whomever coined the term made the same strategic error as whomever coined "global warming" -- the adjectives used are too specific to adequately describe the full range of qualities involved.
Post reply on HN