Live data from Hacker News

MapReduce is making a comeback

estuary.dev

21–30 of 39 posts

Re: MapReduce is making a comeback

#21
post #9

> Rather than producing output data and then exiting, like a Hadoop job, a continuous MapReduce program continues to update its results incrementally and in real time as new data is added So keeping track of min/max/average as you add new data is now "continous MapReduce"? Don't get me wrong, a data platform that ingests data and computes useful user-defined aggregates from that sounds useful. But this article feels…

Real-time aggregates is the core value pitch of Clickhouse.

Re: MapReduce is making a comeback

#22
post #7
post #2

MapReduce is a useful tool in some contexts, but the the hype surrounding it always felt like people patting themselves on the back for re-inventing relational algebra.

Isn't the entire field of software just people patting themselves on the back for some extremely basic relational algebra? I don't know what I should be proud of when I learn something new, it all seems extremely basic compared as soon as I learn it.

I wouldn’t say that anymore than I’d say soccer World Cup is a bunch of people worshipped for jogging around passing a ball around.

It’s pretty easy to simplify things down until they sound unimpressive.

Re: MapReduce is making a comeback

#23
post #9

> Rather than producing output data and then exiting, like a Hadoop job, a continuous MapReduce program continues to update its results incrementally and in real time as new data is added So keeping track of min/max/average as you add new data is now "continous MapReduce"? Don't get me wrong, a data platform that ingests data and computes useful user-defined aggregates from that sounds useful. But this article feels…

> $buzzword

Yeah, the article is an odd spin on what they're building.

> min/max/average as you add new data

Or a 2D kernel density estimate for your dashboards, a real-time view of 3-neighbors in a graph (nodes+edges definition) sized by log1p(request frequency), .... I find it way easier to write a few custom incremental primitives to piece together into that kind of algorithm than to write such an algorithm from scratch.

I'm not crazy about a general-purpose framework/product that tries to allow incremental updates of AllTheThings™ -- my experience thus far suggests that getting it to do what you want (or perform reasonably) on your own data will require enough kludges that you would have been far better off writing the WholeDamnedThing™ yourself.

If they do only support min/max/average and other simple transforms then that's probably not great; they'd be competing directly with something like QuestDB, which is a phenomenal product I'm leaning toward more and more. You don't need millisecond view update times if you can query the whole db in milliseconds.

Re: MapReduce is making a comeback

#24
post #7
post #2

MapReduce is a useful tool in some contexts, but the the hype surrounding it always felt like people patting themselves on the back for re-inventing relational algebra.

Isn't the entire field of software just people patting themselves on the back for some extremely basic relational algebra? I don't know what I should be proud of when I learn something new, it all seems extremely basic compared as soon as I learn it.

It's kind of like math; all math concepts are impossible until you figure out why they're actually easy.

Re: MapReduce is making a comeback

#25
post #17
post #2

MapReduce is a useful tool in some contexts, but the the hype surrounding it always felt like people patting themselves on the back for re-inventing relational algebra.

My interpretation is that is why it’s so brilliant. It’s incredibly simple for the end user conceptually but encapsulates optimizing processing across a distributed file system, fault tolerance, shuffling key value pairs, job stage planning, handling intermediates ect. Hadoop a big data framework that reduces the level of competence required to write data pipelines because it was able to hide a massive amount of comp…

I agree with this. As soon as the MapReduce paper came out, people were criticizing it for a lack of novelty, claiming that so-and-so has been using these same techniques for years. And of course those critics are still around saying the same things. But I think there's a reason we keep going back to these techniques, and I think it's because they repeatedly prove to be practical and effective.

Re: MapReduce is making a comeback

#26
I question the premise that MapReduce really ever went away. Many migrated away from Hadoop, but in frameworks that succeeded it, MapReduce was still a core pattern. And in some cases, moving away from Hadoop wasn't ideal because later frameworks still got some things wrong. Maybe we stopped talking about MapReduce because we were focused on new patterns and challenges -- how to support many complex jobs and pipelines, more interactive and exploratory analysis, etc.

I'm curious about the difference between "continuous MapReduce" and I guess a subgraph in a "differential dataflow" (which I have read about but never really used). https://github.com/TimelyDataflow/differential-dataflow

Re: MapReduce is making a comeback

#27

Interesting but how is this as an alternative to Apache Flink's stream processing model?

A big difference is the removal of windowing: Flink lets you aggregate or join events only so long as they arrive in the same temporally-bound window. You're required to have a window, and it's core to the semantics of your workflow. Flow's model doesn't use windows, and allows for long-distance (in time) joins and aggregations. There's no concept of "late" data in Flow: it just keeps on updating the desired aggregat…

You do not need windowing. You can do everything you want with regular KeyedStream. You can join not-windowed streams using IntervalJoin.

This is if you want to use high level API. If you use lower-level ProcessFunction you have even more flexibility.

Re: MapReduce is making a comeback

#28
post #2

MapReduce is a useful tool in some contexts, but the the hype surrounding it always felt like people patting themselves on the back for re-inventing relational algebra.

Apart from Google, which has a patent related to their 2004 paper, I don't know how much people are trying to "take credit" for map-reduce. I'm certainly not. But I do think the approach of running map-reduce continuously in realtime is interesting and worth sharing. And I hope that some folks will be interested enough to try it out, either with Flow or in a system of their own design, and report on how it goes for them.

Re: MapReduce is making a comeback

#30

Interesting but how is this as an alternative to Apache Flink's stream processing model?

IANAE on Flink, especially when it comes to the internals. But I think that the decomposition of computations into distinct map and reduce functions seems to afford a bit more flexibility, since it can be useful to apply reductions separately from map functions, and vice versa. For example, you could roll up updates to entities over time just with a reduce function, and you could easily do so eagerly (when the data is ingested) or lazily (when the data is materialized into an external system). That type of flexibility is important when you want a realtime data platform that needs to serve a broad range of use cases.
Post reply on HN