In discussions like this, I often wonder how there can be enough data to require a "big data" pipeline with things like Spark and Presto. Stitch Fix seems to be one of those online services that send you sets of clothes that they think fit your style. That seems like a really narrow, low-data kind of industry. How much data can they possibly have? And why so big on the backend? In January 2018 they had 100 engineers.…
Maintainable ETL Practices at Stitchfix
11–20 of 20 posts
Re: Maintainable ETL Practices at Stitchfix
#12In discussions like this, I often wonder how there can be enough data to require a "big data" pipeline with things like Spark and Presto. Stitch Fix seems to be one of those online services that send you sets of clothes that they think fit your style. That seems like a really narrow, low-data kind of industry. How much data can they possibly have? And why so big on the backend? In January 2018 they had 100 engineers.…
They also have mobile apps, they run product experiments, they source and sell clothing and manage inventory, they build and iterate on algorithmic approaches to recommend and design clothing (many of which help stylists and never reach the screen of an external client).
You can skim through their Algorithms blog for some more detail. I find them impressive in how they scale the impact of relatively few stylists to about 3M users.
https://www.kleinerperkins.com/files/INTERNET_TRENDS_REPORT_...
Re: Maintainable ETL Practices at Stitchfix
#13Too large a chunk of my life was burnt the ETL from hell. Other than SQL, I can't see any other tool that would have helped. I found the easiest way was just dump tables of data into long varchars - even the supposedly numeric stuff, because often enough it wasn't - then scrub & filter it from there. (NB, if you take anything from this post, make it that). There were multiple challenges, but one that was most painful…
Re: Maintainable ETL Practices at Stitchfix
#14In discussions like this, I often wonder how there can be enough data to require a "big data" pipeline with things like Spark and Presto. Stitch Fix seems to be one of those online services that send you sets of clothes that they think fit your style. That seems like a really narrow, low-data kind of industry. How much data can they possibly have? And why so big on the backend? In January 2018 they had 100 engineers.…
Re: Maintainable ETL Practices at Stitchfix
#15In discussions like this, I often wonder how there can be enough data to require a "big data" pipeline with things like Spark and Presto. Stitch Fix seems to be one of those online services that send you sets of clothes that they think fit your style. That seems like a really narrow, low-data kind of industry. How much data can they possibly have? And why so big on the backend? In January 2018 they had 100 engineers.…
Re: Maintainable ETL Practices at Stitchfix
#16In discussions like this, I often wonder how there can be enough data to require a "big data" pipeline with things like Spark and Presto. Stitch Fix seems to be one of those online services that send you sets of clothes that they think fit your style. That seems like a really narrow, low-data kind of industry. How much data can they possibly have? And why so big on the backend? In January 2018 they had 100 engineers.…
It is a distributed compute engine that has a lot of capabilities, is rock solid, allows you to blend SQL with Python/R/Scala and can support ML use cases as your needs grow. You can easily store all of your data in PostgreSQL and run Spark on top.
Re: Maintainable ETL Practices at Stitchfix
#17No, the primary benefit of using SQL is not SQL itself but the “free features” you get with the RDBMS you’re using. Enforcement of primary keys, automatic data type conversions, free transactions! and rollbacks ... and the sheer gift that is set-based operations on large chunks of data. It is just plain stupid to want to code the transformations or insertion of millions of rows iteratively than to rely the implicit rollback power of an INSERT statement.
Rule # 1 in my projects: Avoid getting sexy in code, use the RDBMS for all transformations post staging. Always stage to RDBMS “as is” (data warts and all). Cleanup with SQL and stored procedures. This way you can SQL query the whole original format and figure out the best cleanup and transformations needed.
Re: Maintainable ETL Practices at Stitchfix
#18Too large a chunk of my life was burnt the ETL from hell. Other than SQL, I can't see any other tool that would have helped. I found the easiest way was just dump tables of data into long varchars - even the supposedly numeric stuff, because often enough it wasn't - then scrub & filter it from there. (NB, if you take anything from this post, make it that). There were multiple challenges, but one that was most painful…
Yikes, I’m sorry. What were your application developers doing to persist this messy data?
I wrote 'tables' because it wasn't a relational DB although the successor system was.
The amount of data was pretty minimal too, not much more than a dozen GB, but it ate up at least 4 man-years to convert. I still cringe thinking about it. Some parts were an interesting challenge but mostly just soul destroying grind.
Re: Maintainable ETL Practices at Stitchfix
#19Too large a chunk of my life was burnt the ETL from hell. Other than SQL, I can't see any other tool that would have helped. I found the easiest way was just dump tables of data into long varchars - even the supposedly numeric stuff, because often enough it wasn't - then scrub & filter it from there. (NB, if you take anything from this post, make it that). There were multiple challenges, but one that was most painful…
Yikes, I’m sorry. What were your application developers doing to persist this messy data?
of course the value to the business of much of this data is highly questionable, but this isn't always an argument you win..