<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lambda-Architecture on Ryan Orban</title><link>https://ryanorban.com/categories/lambda-architecture/</link><description>Recent content in Lambda-Architecture on Ryan Orban</description><generator>Hugo</generator><language>en-us</language><managingEditor>me@ryanorban.com (Ryan Orban)</managingEditor><webMaster>me@ryanorban.com (Ryan Orban)</webMaster><copyright>Ryan Orban</copyright><lastBuildDate>Sat, 01 Mar 2014 00:00:00 +0000</lastBuildDate><atom:link href="https://ryanorban.com/categories/lambda-architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Cloudera Rebuilding Machine Learning for Hadoop with Oryx</title><link>https://ryanorban.com/notes/cloudera-oryx-ml-hadoop/</link><pubDate>Sat, 01 Mar 2014 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/cloudera-oryx-ml-hadoop/</guid><description>&lt;h3 id="summary" class="scroll-mt-8 group"&gt;
 Summary
 
 &lt;a href="#summary"
 class="no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block"
 aria-hidden="true" title="Link to this heading" tabindex="-1"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 width="16"
 height="16"
 fill="none"
 stroke="currentColor"
 stroke-linecap="round"
 stroke-linejoin="round"
 stroke-width="2"
 class="lucide lucide-link w-4 h-4 block"
 viewBox="0 0 24 24"
&gt;
 &lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /&gt;
 &lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /&gt;
&lt;/svg&gt;

 &lt;/a&gt;
 
&lt;/h3&gt;
&lt;p&gt;Cloudera launched Oryx as an open-source framework for large-scale, real-time machine learning on Hadoop. The design follows the Lambda Architecture pattern (coined by Nathan Marz): a batch layer periodically retrains models on all historical data stored in HDFS, while a speed layer serves the current model and handles real-time updates. The framework was built primarily around collaborative filtering for recommendation systems — predicting what content users would engage with based on historical behavior.&lt;/p&gt;</description></item><item><title>Streaming MapReduce with Summingbird</title><link>https://ryanorban.com/notes/summingbird-streaming-mapreduce/</link><pubDate>Wed, 04 Sep 2013 00:00:00 +0000</pubDate><author>me@ryanorban.com (Ryan Orban)</author><guid>https://ryanorban.com/notes/summingbird-streaming-mapreduce/</guid><description>&lt;p&gt;&lt;img
 src="https://ryanorban.com/images/notes/summingbird-streaming-mapreduce.png"
 alt="Streaming MapReduce with Summingbird" class="note-hero-img"
 loading="lazy"
/&gt;
&lt;/p&gt;
&lt;h3 id="summary" class="scroll-mt-8 group"&gt;
 Summary
 
 &lt;a href="#summary"
 class="no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block"
 aria-hidden="true" title="Link to this heading" tabindex="-1"&gt;
 &lt;svg
 xmlns="http://www.w3.org/2000/svg"
 width="16"
 height="16"
 fill="none"
 stroke="currentColor"
 stroke-linecap="round"
 stroke-linejoin="round"
 stroke-width="2"
 class="lucide lucide-link w-4 h-4 block"
 viewBox="0 0 24 24"
&gt;
 &lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /&gt;
 &lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /&gt;
&lt;/svg&gt;

 &lt;/a&gt;
 
&lt;/h3&gt;
&lt;p&gt;Summingbird is a Scala library Twitter open-sourced in 2013 that lets you write a single MapReduce computation and run it on both batch (Hadoop/Scalding) and streaming (Storm) backends. The core idea: computations that aggregate data (count, sum, top-K, approximate counts via HyperLogLog) can be expressed abstractly using algebraic structures (monoids, semigroups), and those abstractions can be automatically parallelized and run either offline over historical data or online over live streams.&lt;/p&gt;</description></item></channel></rss>