A data scientist writes about R, statistics, causal inference, and practical data processing, including the well-known 25TB awk and R post.
HN cites the 25TB post as evidence that awk and Unix tools can process very large datasets efficiently, as an alternative to Spark.
>How would running awk for analysis on 6TB of data work quickly and efficiently?
In that 6TB is not that huge of an amount
That's their total dataset, and there's no "real time" requirement.
They can start a batch process, process the data, and be done with it.
Here's an example of someone using awk (read further down for the relevant section):
https://livefreeordichotomize.com/posts/2019-06-04-using-awk-and-r-to-parse-25tb/
"I was now able to process a whole 5 terabyte batch in just a few hours."
>They say it would go into memory but its not clear to me how that would work as would still have paging and thrashing issues if the data didnt have often used sections of the data
There's no need to have paging and thrashing issues if you can fit all (or even most) of your data in memory. And you can always also split, process, and aggregate partial results.
>am I overthinking it and they were they just referring to buying a big ass Ram machine?
Yeah, they said one can buy a machine with several TB of memory.
I love Unix pipes and I love the immense computational power you can achieve through streaming pipelines. You hear stories of people processing terabytes of data faster and cheaper than a distributed cloud solution, by the virtue of Unix pies[1].
But I don’t really see them in any other environment. I can’t think of anything that uses something similar except for big, distributed data processing pipelines like Apache Beam.
Where’s the Python with streaming pipelines?
[1] https://livefreeordichotomize.com/posts/2019-06-04-using-awk-and-r-to-parse-25tb/
AWK/Sed are actually very efficient. See this post for example, it describes parsing 25Tb of data with awk: https://livefreeordichotomize.com/posts/2019-06-04-using-awk-and-r-to-parse-25tb/index.html
before you go down the spark route, consider perl/unix-tools may do this kind of thing quite well: https://livefreeordichotomize.com/2019/06/04/using_awk_and_r_to_parse_25tb/