<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>UMBC ebiquity &#187; Erlang</title>
	<atom:link href="http://ebiquity.umbc.edu/blogger/tag/erlang/feed/" rel="self" type="application/rss+xml" />
	<link>http://ebiquity.umbc.edu/blogger</link>
	<description>EBB is the ebiquity research group\\\'s blog at the University of Maryland, Baltimore County (UMBC).  We focus on technologies that facilitate the design, implementation and control of distributed, intelligent information systems -- mobile and pervasive computing, ad hoc networking, multiagent systems, knowledge representation and reasoning, and the semantic web.  As the tides of technology ebb and flow, we hope the good ideas wash up on our beach and the bad ones drift back out to sea.</description>
	<lastBuildDate>Fri, 10 Feb 2012 17:29:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Disco: a Map reduce framework in Python and Erlang</title>
		<link>http://ebiquity.umbc.edu/blogger/2008/12/21/disco-a-map-reduce-framework-in-python-and-erlang/</link>
		<comments>http://ebiquity.umbc.edu/blogger/2008/12/21/disco-a-map-reduce-framework-in-python-and-erlang/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 17:45:43 +0000</pubDate>
		<dc:creator>Tim Finin</dc:creator>
				<category><![CDATA[Multicore Computation Center]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://ebiquity.umbc.edu/blogger/?p=1705</guid>
		<description><![CDATA[TweetDisco is a Python-friendly, open-source Map-Reduce framework for distributed computing with the slogan &#8220;massive data &#8211; minimal code&#8221;. Disco&#8217;s core is written in Erlang, a functional language designed for concurrent programming, and users typically write Disco map and reduce jobs in Python. So what&#8217;s wrong with using Hadoop? Nothing, according to the Disco site, but&#8230; [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1705" class="tw_button" style="clear:left; float: left; margin-right: 10px; margin-top:10px; margin-left: -80;float:left;margin-right:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Febiquity.umbc.edu%2Fblogger%2F2008%2F12%2F21%2Fdisco-a-map-reduce-framework-in-python-and-erlang%2F&amp;text=Disco%3A%20a%20Map%20reduce%20framework%20in%20Python%20and%20Erlang&amp;related=ebiquity&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Febiquity.umbc.edu%2Fblogger%2F2008%2F12%2F21%2Fdisco-a-map-reduce-framework-in-python-and-erlang%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://ebiquity.umbc.edu/blogger/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://discoproject.org/">Disco</a> is a Python-friendly, open-source Map-Reduce framework for distributed computing with the slogan <i>&#8220;massive data &#8211; minimal code&#8221;</i>.  Disco&#8217;s core is written in <a href="http://en.wikipedia.org/wiki/Erlang_(programming_language)">Erlang</a>, a functional language designed for concurrent programming, and users typically write Disco map and reduce jobs in Python. So what&#8217;s wrong with using <a href="http://en.wikipedia.org/wiki/Hadoop">Hadoop</a>?  Nothing, according to the Disco site, but&#8230;<br />
<blockquote> &#8220;We see that platforms for distributed computing will be of such high importance in the future that it is crucial to have a wide variety of different approaches which produces healthy competition and co-evolution between the projects. In this respect, Hadoop and Disco can be seen as complementary projects, similar to Apache, Lighttpd and Nginx.</p>
<p>It is a matter of taste whether Erlang and Python are more suitable for the task than Java. We feel much more productive with Python than with Java. We also feel that Erlang is a perfect match for the Disco core that needs to handle tens of thousands of tasks in parallel.</p>
<p>Thanks to Erlang, the Disco core remarkably compact, currently less than 2000 lines of code. It is relatively easy to understand how the core works, and start experimenting with it or adapt it to new environments. Thanks to Python, it is easy to add new features around the core which ensures that Disco can respond quickly to real-world needs.&#8221;
</p></blockquote>
<p>The <a href="http://discoproject.org/doc/start/tutorial.html">Disco tutorial</a> uses the standard word counting task to show how to set up and use Disco on both a local cluster and Amazon EC2. There is also <a href="http://discoproject.org/doc/py/homedisco.html">homedisco</a>, which lets programmers develop, debug, profile and test Disco functions on one local machine before running on a cluster. The word counting example from the tutorial is certainly nicely compact:</p>
<blockquote>
<div style="font-family:Arial;font-size:0.8em">
<pre>
from disco.core import Disco, result_iterator

def fun_map(e, params):
    return [(w, 1) for w in e.split()]

def fun_reduce(iter, out, params):
    s = {}
    for w, f in iter:
        s[w] = s.get(w, 0) + int(f)
    for w, f in s.iteritems():
        out.add(w, f)

results = Disco("disco://localhost").new_job(
		name = "wordcount",
                input = ["http://discoproject.org/chekhov.txt"],
                map = fun_map,
		reduce = fun_reduce).wait()

for word, frequency in result_iterator(results):
	print word, frequency
</pre>
</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ebiquity.umbc.edu/blogger/2008/12/21/disco-a-map-reduce-framework-in-python-and-erlang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

