[ETR #28] 2024 In 12 Errors You Must Avoid


Extract. Transform. Read.

A newsletter from Pipeline

Hi past, present or future data professional!

If you’ve ever seen the legendary American sitcom Seinfeld, you might be familiar with the fictional holiday the characters create, festivus, “A festival for the rest of us.” As a rejection of conventional winter holidays like Christmas/Haunnukah, a core part of festivus is the “airing of grievances.” While I have yet to attempt this in real-life, I’ve spent the past two years airing my grievances with aspects of data engineering with the intention of exposing you, the aspiring or beginning-career engineer, to niche errors that require on-the-fly problem solving.

Since, for many, it’s deep into the holiday season, I won’t take too much time listing all 12 errors; instead, here are three you’re most likely to encounter when first using technologies like Python, Airflow & SQL.

Erroneous datetime conversion

  • The problem: The vendor API & UI were in different time zones
  • The solution: Convert a timestamp to a datetime value and use the offset to subtract the correct amount of hours from UTC to generate the correct EST start time for the fetch, like I explain here

Creating Excessive Docker Images (And Killing Memory)

  • The problem: Creating a new Docker image without accounting for impacts on system memory
  • The solution: 1) Recognize that the Docker image doesn’t need to be recreated for small changes to a Python script. 2) Run Docker prune to remove unused containers, networks and images to free up memory

SQL: Using CREATE OR REPLACE TABLE() instead of INSERT()

  • The problem: Running a CREATE OR REPLACE TABLE() statement will recreate a table BUT it will also wipe useful metadata and data protection policies
  • The solution: Create a date range that encompasses the entirety of your table’s data and then run a delete statement. Personally, I use MIN() AND MAX() in a subquery

While understanding the possible errors you could encounter as a data engineer working with multiple technologies is helpful, I believe it’s just as important to cultivate a healthy mental approach to programming.

Programming is one of the coolest, most frustrating ways you can spend your time. The sooner you realize the absurdity of what we do, the sooner you’ll free yourself to make and learn from mistakes like the ones above and those I highlight in the full story.

Here’s to overcoming more bugs, blockers and annoyances in ‘25.

Happy holidays and thanks for ingesting,

-Zach Quinn

Extract. Transform. Read.

Reaching 20k+ readers on Medium and nearly 3k learners by email, I draw on my 4 years of experience as a Senior Data Engineer to demystify data science, cloud and programming concepts while sharing job hunt strategies so you can land and excel in data-driven roles. Subscribe for 500 words of actionable advice every Thursday.

Read more from Extract. Transform. Read.

Extract. Transform. Read. A newsletter from Pipeline Hi past, present or future data professional! While many tech-oriented companies have (in one way or another) reneged on remote working arrangements, my employer made an extreme gesture to demonstrate its commitment to the ongoing office-less lifestyle: It removed an entire floor of our two-floor New Jersey office space. Other companies, like Spotify, have unveiled slogans like “Our employees aren’t children. Spotify will continue working...

Extract. Transform. Read. A newsletter from Pipeline Hi past, present or future data professional! The only thing worse than summer temperatures (if you’re in the western hemisphere, that is) is a summer job search. Conventionally, summer isn’t the best time to apply for work; you could probably tell this if you’re currently working and find yourself accepting an overwhelming amount of OOO cal invites. If you are braving the heat of the job market, I want to share a more targeted and...

Extract. Transform. Read. A newsletter from Pipeline Hi past, present or future data professional! Well, it finally happened; AI has replaced a build I created and I’ve been made redundant. Thankfully, the person that created the AI integration was also me. And I did this on personal time so this isn’t an apocalyptic scenario. I’ve previously written about a handful of tools I created to optimize the “busy work” of blogging. One of the ways is by adding links to past relevant articles and...