Modified: hama/site/trunk/hama_bsp_tutorial.html URL: http://svn.apache.org/viewvc/hama/site/trunk/hama_bsp_tutorial.html?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== --- hama/site/trunk/hama_bsp_tutorial.html (original) +++ hama/site/trunk/hama_bsp_tutorial.html Tue Jun 30 07:32:56 2015 @@ -1,22 +1,22 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at Mar 13, 2014 - | Rendered using Apache Maven Fluido Skin 1.3.0 + | Generated by Apache Maven Doxia at 2015-06-30 + | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20140313" /> + <meta name="Date-Revision-yyyymmdd" content="20150630" /> <meta http-equiv="Content-Language" content="en" /> - <title>Hama - + <title>Apache Hama - BSP Tutorial</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> @@ -28,7 +28,7 @@ ga('create', 'UA-46300992-1', 'apache.org'); ga('send', 'pageview');</script> - </head> + </head> <body class="topBarEnabled"> @@ -105,23 +105,6 @@ </ul> </li> <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://hadoop.apache.org/" title="Hadoop">Hadoop</a> -</li> - - <li> <a href="http://whirr.apache.org/" title="Whirr">Whirr</a> -</li> - - <li> <a href="http://incubator.apache.org/bigtop/" title="Bigtop">Bigtop</a> -</li> - - <li> <a href="http://mahout.apache.org/" title="Mahout">Mahout</a> -</li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Art works <b class="caret"></b></a> <ul class="dropdown-menu"> @@ -129,41 +112,26 @@ </li> </ul> </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a> -</li> - - <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a> -</li> - - <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a> -</li> - - <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a> -</li> - </ul> - </li> </ul> - - <ul class="nav pull-right"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li> <a href="http://wiki.apache.org/hama" title="Wiki">Wiki</a> -</li> - <li> <a href="http://issues.apache.org/jira/browse/HAMA" title="JIRA">JIRA</a> -</li> - <li> <a href="http://twitter.com/apachehama" title="Hama Twitter">Hama Twitter</a> -</li> - </ul> - </li> - </ul> - + + + + + <iframe src="https://www.facebook.com/plugins/like.php?href=http://hama.apache.org&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://hama.apache.org" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + </div> </div> @@ -174,10 +142,13 @@ <div id="banner"> <div class="pull-left"> <a href="index.html" id="bannerLeft"> - <img src="images/headerlogo.png" alt="Apache Hama" width="340"/> + <img src="http://www.apache.org/images/feather-small.gif" alt="Apache Hama"/> </a> </div> - <div class="pull-right"> </div> + <div class="pull-right"> <div id="bannerRight"> + <h2>Apache Hama</h2> + </div> + </div> <div class="clear"><hr/></div> </div> @@ -185,24 +156,10 @@ <ul class="breadcrumb"> - <li class=""> - <a href="http://www.apache.org/" class="externalLink" title="Apache"> - Apache</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="./" title="Hama"> - Hama</a> - </li> - <li class="divider ">/</li> - <li class=""> - BSP Tutorial</li> - + - <li id="publishDate" class="pull-right">Last Published: 2014-03-13</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.7.0-SNAPSHOT</li> - + </ul> </div> @@ -225,30 +182,46 @@ See the License for the specific language governing permissions and limitations under the License. --> - <div class="section"><h2>Hama BSP Tutorial<a name="Hama_BSP_Tutorial"></a></h2></div> - <p>This document describes the Hama BSP framework and serves as a tutorial.</p> - <div class="section"><h3>Overview<a name="Overview"></a></h3></div> - <p>Hama provides a Pure BSP Bulk Synchronous Parallel Model for message passing and collective communication. + <div class="section"> +<h2>Hama BSP Tutorial<a name="Hama_BSP_Tutorial"></a></h2></div> + +<p>This document describes the Hama BSP framework and serves as a tutorial.</p> + +<div class="section"> +<h3>Overview<a name="Overview"></a></h3></div> + +<p>Hama provides a Pure BSP Bulk Synchronous Parallel Model for message passing and collective communication. A BSP program consists of a sequence of supersteps. Each superstep consists of the following three phases:</p> - <ul> - <li>Local computation</li> - <li>Process communication</li> - <li>Barrier synchronization</li> + +<ul> + +<li>Local computation</li> + +<li>Process communication</li> + +<li>Barrier synchronization</li> </ul> - <p>BSP programming enables you to write high-performance parallel computing algorithms for a wide range of scientific problems.</p> - <div class="section"><h3>Create your own BSP by extending BSP class<a name="Create_your_own_BSP_by_extending_BSP_class"></a></h3></div> +<p>BSP programming enables you to write high-performance parallel computing algorithms for a wide range of scientific problems.</p> - <p>The way to create your own BSP class is to create a class that extends the org.apache.hama.bsp.<b>BSP</b> class. + +<div class="section"> +<h3>Create your own BSP by extending BSP class<a name="Create_your_own_BSP_by_extending_BSP_class"></a></h3></div> + + +<p>The way to create your own BSP class is to create a class that extends the org.apache.hama.bsp.<b>BSP</b> class. <br /> The extending class must override the bsp() method, which is declared like this: </p> - <div><pre> + +<div> +<pre> public abstract void bsp(BSPPeer<K1, V1, K2, V2, M extends Writable> peer) throws IOException, SyncException, InterruptedException;</pre></div> - <p> + +<p> You will define the BSP program inside this bsp() method. It is important to understand that it doesn't mean a single superstep. As described above, a BSP program consists of a sequence of supersteps. @@ -260,7 +233,9 @@ <br /><br /> After your own BSP is created, you will need to configure a <b>BSPJob</b> and submit it to Hama cluster to execute a job. The BSP job configuration and submission interfaces is almost the same as the MapReduce job configuration:</p> - <div><pre> + +<div> +<pre> HamaConfiguration conf = new HamaConfiguration(); BSPJob job = new BSPJob(conf, MyBSP.class); job.setJobName("My BSP program"); @@ -269,12 +244,21 @@ job.setOutputKeyClass(Text.class); ... job.waitForCompletion(true);</pre></div> - <p>See the below section for more detailed description of BSP user interfaces.</p> - <div class="section"><h3>User Interfaces<a name="User_Interfaces"></a></h3></div> - <div class="section"><div class="section"><h4>Inputs and Outputs<a name="Inputs_and_Outputs"></a></h4> - <p>When setting up a BSPJob, you can provide a Input/OutputFormat and Paths like this:</p> - <div><pre> +<p>See the below section for more detailed description of BSP user interfaces.</p> + + +<div class="section"> +<h3>User Interfaces<a name="User_Interfaces"></a></h3></div> + +<div class="section"> +<div class="section"> +<h4>Inputs and Outputs<a name="Inputs_and_Outputs"></a></h4> + +<p>When setting up a BSPJob, you can provide a Input/OutputFormat and Paths like this:</p> + +<div> +<pre> job.setInputPath(new Path("/tmp/sequence.dat"); job.setInputFormat(org.apache.hama.bsp.SequenceFileInputFormat.class); or, @@ -288,10 +272,13 @@ FileOutputFormat.setOutputPath(job, new Path("/tmp/result")); </pre></div> - <p>Then, you can read the input and write the output from the methods in BSP class which has "BSPPeer" which contains an communication, counters, and IO interfaces as parameter. + +<p>Then, you can read the input and write the output from the methods in BSP class which has "BSPPeer" which contains an communication, counters, and IO interfaces as parameter. In this case we read a normal text file:</p> - <div><pre> + +<div> +<pre> @Override public final void bsp( BSPPeer<LongWritable, Text, Text, LongWritable, Text> peer) @@ -308,11 +295,14 @@ // write peer.write(value, key); }</pre></div> - <p>Consult the docs for more detail on events like end of file. + +<p>Consult the docs for more detail on events like end of file. There is also a function which allows you to re-read the input from the beginning. This snippet reads the input five times: </p> - <div><pre> + +<div> +<pre> for(int i = 0; i < 5; i++){ LongWritable key = new LongWritable(); Text value = new Text(); @@ -323,25 +313,56 @@ peer.reopenInput() }</pre></div> - </div><div class="section"><h4>Communication<a name="Communication"></a></h4> - <p>Hama BSP provides simple but powerful communication APIs for many purposes. + </div> +<div class="section"> +<h4>Communication<a name="Communication"></a></h4> + +<p>Hama BSP provides simple but powerful communication APIs for many purposes. We tried to follow the standard library of BSP world as much as possible. The following table describes all the methods you can use:</p> + <table class="table table-striped" align="center" border="0"> -<tr class="a"><td><b>Method</b></td><td><b>Description</b></td></tr> -<tr class="b"><td>send(String peerName, BSPMessage msg)</td><td>Sends a message to another peer.</td></tr> -<tr class="a"><td>getCurrentMessage()</td><td>Returns a received message.</td></tr> -<tr class="b"><td>getNumCurrentMessages()</td><td>Returns the number of received messages.</td></tr> -<tr class="a"><td>sync()</td><td>Barrier synchronization.</td></tr> -<tr class="b"><td>getPeerName()</td><td>Returns a peer's hostname.</td></tr> -<tr class="a"><td>getAllPeerNames()</td><td>Returns all peer's hostname.</td></tr> -<tr class="b"><td>getSuperstepCount()</td><td>Returns the count of supersteps</td></tr> + +<tr class="a"> +<td><b>Method</b></td> +<td><b>Description</b></td></tr> + +<tr class="b"> +<td>send(String peerName, BSPMessage msg)</td> +<td>Sends a message to another peer.</td></tr> + +<tr class="a"> +<td>getCurrentMessage()</td> +<td>Returns a received message.</td></tr> + +<tr class="b"> +<td>getNumCurrentMessages()</td> +<td>Returns the number of received messages.</td></tr> + +<tr class="a"> +<td>sync()</td> +<td>Barrier synchronization.</td></tr> + +<tr class="b"> +<td>getPeerName()</td> +<td>Returns a peer's hostname.</td></tr> + +<tr class="a"> +<td>getAllPeerNames()</td> +<td>Returns all peer's hostname.</td></tr> + +<tr class="b"> +<td>getSuperstepCount()</td> +<td>Returns the count of supersteps</td></tr> </table> - <p>The send() and all the other functions are very flexible. Here is an example that sends a message to all peers:</p> - <div><pre> +<p>The send() and all the other functions are very flexible. Here is an example that sends a message to all peers:</p> + + +<div> +<pre> @Override public void bsp( BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, Text> peer) @@ -354,9 +375,12 @@ peer.sync(); }</pre></div> - </div><div class="section"><h4>Synchronization<a name="Synchronization"></a></h4> + </div> +<div class="section"> +<h4>Synchronization<a name="Synchronization"></a></h4> - <p>When all the processes have entered the barrier via the sync() method, + +<p>When all the processes have entered the barrier via the sync() method, the Hama proceeds to the next superstep. In the previous example, the BSP job will be finished by one synchronization after sending a message "Hello from ..." to all peers. @@ -366,7 +390,9 @@ For example, the sync() method also can be called in a for loop so that you can use to program the iterative methods sequentially:</p> - <div><pre> + +<div> +<pre> @Override public void bsp( BSPPeer<NullWritable, NullWritable, Text, DoubleWritable, Text> peer) @@ -377,9 +403,14 @@ } }</pre></div> - </div><div class="section"><h4>Combiners<a name="Combiners"></a></h4> - <p>Combiners are used for performing message aggregation to reduce communication overhead in cases when messages can be summarized arithmetically e.g., min, max, sum, and average at the sender side. Suppose that you want to send the integer messages to a specific processor from 0 to 1000 and sum all received the integer messages from all processors:</p> - <div><pre> + </div> +<div class="section"> +<h4>Combiners<a name="Combiners"></a></h4> + +<p>Combiners are used for performing message aggregation to reduce communication overhead in cases when messages can be summarized arithmetically e.g., min, max, sum, and average at the sender side. Suppose that you want to send the integer messages to a specific processor from 0 to 1000 and sum all received the integer messages from all processors:</p> + +<div> +<pre> public void bsp(BSPPeer<NullWritable, NullWritable, NullWritable, NullWritable> peer) throws IOException, SyncException, InterruptedException { @@ -395,8 +426,11 @@ } } }</pre></div> - <p>If you follow the previous example, Each bsp processor will send a bundle of thousand Integer messages to a masterTask. Instead, you could use a Combiners in your BSP program to perform a sum Integer messages and to write more concise and maintainable as below, that is why you use Combiners. </p> - <div><pre> + +<p>If you follow the previous example, Each bsp processor will send a bundle of thousand Integer messages to a masterTask. Instead, you could use a Combiners in your BSP program to perform a sum Integer messages and to write more concise and maintainable as below, that is why you use Combiners. </p> + +<div> +<pre> public static class SumCombiner extends Combiner { @Override @@ -414,25 +448,81 @@ } }</pre></div> + </div> +<div class="section"> +<h4>Counters<a name="Counters"></a></h4> + +<p>Counters are used for measuring the progress or counting the number of events within job. For your own Counter, you need to define the enum type as follow:</p> + +<div> +<pre> + private static enum CUSTOM_COUNTER { + CUSTOM_SEND_MESSAGE_COUNTER, + ANOTHER_COUNTER + } +</pre></div> + +<p>Then you can increment your own counter by calling increment method as follow:</p> + +<div> +<pre> + peer.getCounter(CUSTOM_COUNTER.CUSTOM_SEND_MESSAGE_COUNTER).increment(1); +</pre></div> - </div></div><div class="section"><h3>Shell Command Line Interfaces<a name="Shell_Command_Line_Interfaces"></a></h3></div> - <p>Hama provides several command for BSP job administration:</p> + </div></div> +<div class="section"> +<h3>Shell Command Line Interfaces<a name="Shell_Command_Line_Interfaces"></a></h3></div> +<p>Hama provides several command for BSP job administration:</p> + + <table class="table table-striped" align="center" border="0"> -<tr class="a"><td><b>Command</b></td><td><b>Description</b></td></tr> -<tr class="b"><td>-submit <job-file></td><td>Submits the job.</td></tr> -<tr class="a"><td>-status <job-id></td><td>Prints the job status.</td></tr> -<tr class="b"><td>-kill <job-id></td><td>Kills the job.</td></tr> -<tr class="a"><td>-list [all]</td><td>-list all displays all jobs. -list displays only jobs which are yet to be completed.</td></tr> -<tr class="b"><td>-list-active-grooms</td><td>Displays the list of active groom server in the cluster.</td></tr> -<tr class="a"><td>-list-attempt-ids <jobId> <task-state></td><td>Displays the list of tasks for a given job currently in a particular state (running or completed).</td></tr> -<tr class="b"><td>-kill-task <task-id></td><td>Kills the task. Killed tasks are NOT counted against failed attempts.</td></tr> -<tr class="a"><td>-fail-task <task-id></td><td>Fails the task. Failed tasks are counted against failed attempts.</td></tr> + +<tr class="a"> +<td><b>Command</b></td> +<td><b>Description</b></td></tr> + +<tr class="b"> +<td>-submit <job-file></td> +<td>Submits the job.</td></tr> + +<tr class="a"> +<td>-status <job-id></td> +<td>Prints the job status.</td></tr> + +<tr class="b"> +<td>-kill <job-id></td> +<td>Kills the job.</td></tr> + +<tr class="a"> +<td>-list [all]</td> +<td>-list all displays all jobs. -list displays only jobs which are yet to be completed.</td></tr> + +<tr class="b"> +<td>-list-active-grooms</td> +<td>Displays the list of active groom server in the cluster.</td></tr> + +<tr class="a"> +<td>-list-attempt-ids <jobId> <task-state></td> +<td>Displays the list of tasks for a given job currently in a particular state (running or completed).</td></tr> + +<tr class="b"> +<td>-kill-task <task-id></td> +<td>Kills the task. Killed tasks are NOT counted against failed attempts.</td></tr> + +<tr class="a"> +<td>-fail-task <task-id></td> +<td>Fails the task. Failed tasks are counted against failed attempts.</td></tr> </table> - <div class="section"><h3>Example: Pi Calculation<a name="Example:_Pi_Calculation"></a></h3></div> - <p>Here is an BSP-based Pi Calculation example and submit it to Hama cluster:</p> - <div><pre> + +<div class="section"> +<h3>Example: Pi Calculation<a name="Example:_Pi_Calculation"></a></h3></div> + +<p>Here is an BSP-based Pi Calculation example and submit it to Hama cluster:</p> + +<div> +<pre> private static Path TMP_OUTPUT = new Path("/tmp/pi-" + System.currentTimeMillis()); public static class MyEstimator extends @@ -542,18 +632,14 @@ <footer> <div class="container"> - <div class="row span12">Copyright © 2008-2014 - <a href="http://www.apache.org/">The Apache Software Foundation</a>. - All Rights Reserved. - - </div> - - <?xml version="1.0" encoding="UTF-8"?> -<div class="row span16">Apache Hama, Apache, the Apache feather logo, and + <div class="row"> + +<div style="font-size:80%;">Apache Hama, Apache, the Apache feather logo, and the Apache Hama project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> - + </div> + <p id="poweredBy" class="pull-right"> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> @@ -562,5 +648,5 @@ </div> </footer> - </body> + </body> </html>
Modified: hama/site/trunk/hama_graph_tutorial.html URL: http://svn.apache.org/viewvc/hama/site/trunk/hama_graph_tutorial.html?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== --- hama/site/trunk/hama_graph_tutorial.html (original) +++ hama/site/trunk/hama_graph_tutorial.html Tue Jun 30 07:32:56 2015 @@ -1,22 +1,22 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at Mar 13, 2014 - | Rendered using Apache Maven Fluido Skin 1.3.0 + | Generated by Apache Maven Doxia at 2015-06-30 + | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20140313" /> + <meta name="Date-Revision-yyyymmdd" content="20150630" /> <meta http-equiv="Content-Language" content="en" /> - <title>Hama - + <title>Apache Hama - Graph Tutorial</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> @@ -28,7 +28,7 @@ ga('create', 'UA-46300992-1', 'apache.org'); ga('send', 'pageview');</script> - </head> + </head> <body class="topBarEnabled"> @@ -105,23 +105,6 @@ </ul> </li> <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://hadoop.apache.org/" title="Hadoop">Hadoop</a> -</li> - - <li> <a href="http://whirr.apache.org/" title="Whirr">Whirr</a> -</li> - - <li> <a href="http://incubator.apache.org/bigtop/" title="Bigtop">Bigtop</a> -</li> - - <li> <a href="http://mahout.apache.org/" title="Mahout">Mahout</a> -</li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Art works <b class="caret"></b></a> <ul class="dropdown-menu"> @@ -129,41 +112,26 @@ </li> </ul> </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a> -</li> - - <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a> -</li> - - <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a> -</li> - - <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a> -</li> - </ul> - </li> </ul> - - <ul class="nav pull-right"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li> <a href="http://wiki.apache.org/hama" title="Wiki">Wiki</a> -</li> - <li> <a href="http://issues.apache.org/jira/browse/HAMA" title="JIRA">JIRA</a> -</li> - <li> <a href="http://twitter.com/apachehama" title="Hama Twitter">Hama Twitter</a> -</li> - </ul> - </li> - </ul> - + + + + + <iframe src="https://www.facebook.com/plugins/like.php?href=http://hama.apache.org&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://hama.apache.org" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + </div> </div> @@ -174,10 +142,13 @@ <div id="banner"> <div class="pull-left"> <a href="index.html" id="bannerLeft"> - <img src="images/headerlogo.png" alt="Apache Hama" width="340"/> + <img src="http://www.apache.org/images/feather-small.gif" alt="Apache Hama"/> </a> </div> - <div class="pull-right"> </div> + <div class="pull-right"> <div id="bannerRight"> + <h2>Apache Hama</h2> + </div> + </div> <div class="clear"><hr/></div> </div> @@ -185,24 +156,10 @@ <ul class="breadcrumb"> - <li class=""> - <a href="http://www.apache.org/" class="externalLink" title="Apache"> - Apache</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="./" title="Hama"> - Hama</a> - </li> - <li class="divider ">/</li> - <li class=""> - Graph Tutorial</li> - + - <li id="publishDate" class="pull-right">Last Published: 2014-03-13</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.7.0-SNAPSHOT</li> - + </ul> </div> @@ -225,16 +182,26 @@ See the License for the specific language governing permissions and limitations under the License. --> - <div class="section"><h2>Hama Graph Tutorial<a name="Hama_Graph_Tutorial"></a></h2></div> - <p>This document describes the Graph computing framework and serves as a tutorial.</p> - <div class="section"><h3>Overview<a name="Overview"></a></h3></div> - <p>Hama includes the Graph package for vertex-centric graph computations. + <div class="section"> +<h2>Hama Graph Tutorial<a name="Hama_Graph_Tutorial"></a></h2></div> + +<p>This document describes the Graph computing framework and serves as a tutorial.</p> + +<div class="section"> +<h3>Overview<a name="Overview"></a></h3></div> + +<p>Hama includes the Graph package for vertex-centric graph computations. Hama's Graph package allows you to program Google's Pregel style applications with simple programming interface.</p> - <div class="section"><h3>Vertex<a name="Vertex"></a></h3></div> + +<div class="section"> +<h3>Vertex<a name="Vertex"></a></h3></div> - <p>Writing a Hama graph application involves subclassing the predefined Vertex class. Its template arguments define three value types, associated with vertices, edges, and messages.</p> - <div><pre> + +<p>Writing a Hama graph application involves subclassing the predefined Vertex class. Its template arguments define three value types, associated with vertices, edges, and messages.</p> + +<div> +<pre> public abstract class Vertex<V extends Writable, E extends Writable, M extends Writable> implements VertexInterface<V, E, M> { @@ -243,14 +210,20 @@ }</pre></div> - <p>The user overrides the Compute() method, which will be executed at each active vertex in every superstep. Predefined Vertex methods allow Compute() to query information about the current vertex and its edges, and to send messages to other vertices. Compute() can inspect the value associated with its vertex via GetValue().</p> + +<p>The user overrides the Compute() method, which will be executed at each active vertex in every superstep. Predefined Vertex methods allow Compute() to query information about the current vertex and its edges, and to send messages to other vertices. Compute() can inspect the value associated with its vertex via GetValue().</p> - <div class="section"><h3>Vertex Reader and Writer<a name="Vertex_Reader_and_Writer"></a></h3></div> - <p>Hama Graph provides very flexible input and output options, and allows to extract Vertex from your data without any pre-processing. You can create your own VertexReader for your data format by exending org.apache.hama.graph.<b>VertexInputReader</b> class. + +<div class="section"> +<h3>Vertex Reader and Writer<a name="Vertex_Reader_and_Writer"></a></h3></div> + +<p>Hama Graph provides very flexible input and output options, and allows to extract Vertex from your data without any pre-processing. You can create your own VertexReader for your data format by exending org.apache.hama.graph.<b>VertexInputReader</b> class. For example, an sequence file contains a linked list of Vertex, can be parse as following: </p> - <div><pre> + +<div> +<pre> public static class PagerankSeqReader extends VertexInputReader<Text, TextArrayWritable, Text, NullWritable, DoubleWritable> { @@ -270,7 +243,9 @@ And also, you can create your own Writer by implementing org.apache.hama.graph.<b>VertexOutputWriter</b> class. See the SemiClusterVertexOutputWriter example: - <div><pre> + +<div> +<pre> @Override public void write(Vertex<V, E, M> vertex, BSPPeer<Writable, Writable, KEYOUT, VALUEOUT, GraphJobMessage> peer) @@ -281,18 +256,55 @@ } </pre></div> - <div class="section"><h3>Combiners<a name="Combiners"></a></h3></div> - <p>Sending a message to another vertex that exists on a different machine has some overhead. However if the algorithm doesn't require each message explicitly but a function of it (example sum) then combiners can be used.</p> - <div class="section"><div class="section"><h4>Write your own Combiner<a name="Write_your_own_Combiner"></a></h4> - <p>To write your own combiner, you have to extend Combiner class and implement the methods of #combine(Iterable<M> messages). + +<div class="section"> +<h3>Combiners<a name="Combiners"></a></h3></div> + +<p>Sending a message to another vertex that exists on a different machine has some overhead. However if the algorithm doesn't require each message explicitly but a function of it (example sum) then combiners can be used.</p> + +<div class="section"> +<div class="section"> +<h4>Write your own Combiner<a name="Write_your_own_Combiner"></a></h4> + +<p>To write your own combiner, you have to extend Combiner class and implement the methods of #combine(Iterable<M> messages). For more, please see the implementation of MinIntCombiner in org.apache.hama.example.SSSP example.</p> - </div></div><div class="section"><h3>Aggregators<a name="Aggregators"></a></h3></div> - <p>Aggregators are a mechanism for global communication, monitoring, and data. Each vertex can provide a value to an aggregator in superstep S, the system combines those values using a reduction operator, and the resulting value is made available to all vertices in superstep S + 1. + </div></div> +<div class="section"> +<h3>Counters<a name="Counters"></a></h3></div> + +<p>Counters are used for measuring the progress or counting the number of events within job. For your own Counter, you need to define the enum type as follow:</p> + +<div> +<pre> + private static enum DYNAMIC_GRAPH_COUNTER { + ADDED_VERTEX_COUNT, + REMOVED_VERTEX_COUNT + } +</pre></div> + +<p>Then you can increment your own counter by calling increment method as follow:</p> + +<div> +<pre> + this.getCounter(DYNAMIC_GRAPH_COUNTER.ADDED_VERTEX_COUNT).increment(1); +</pre></div> + + +<div class="section"> +<h3>Aggregators<a name="Aggregators"></a></h3></div> + +<p>Aggregators are a mechanism for global communication, monitoring, and data. Each vertex can provide a value to an aggregator in superstep S, the system combines those values using a reduction operator, and the resulting value is made available to all vertices in superstep S + 1. </p> - <div class="section"><div class="section"><h4>Registering aggregators<a name="Registering_aggregators"></a></h4> - <p>To start using aggregators, you must declare them in your GraphJob:</p> - <div><pre> + +<div class="section"> +<div class="section"> +<h4>Registering aggregators<a name="Registering_aggregators"></a></h4> + +<p>To start using aggregators, you must declare them in your GraphJob:</p> + +<div> +<pre> HamaConfiguration conf = new HamaConfiguration(new Configuration()); GraphJob graphJob = new GraphJob(conf, MyClass.class); @@ -301,28 +313,48 @@ // To add a sum aggregator graphJob.setAggregatorClass(SumAggregator.class);</pre></div> - <p>There are multiple different aggregators and you can also make your own. You can look for already implemented aggregators in org.apache.hama.graph package.</p> - </div><div class="section"><h4>Start working with aggregators<a name="Start_working_with_aggregators"></a></h4> - <p>In order to aggregate values from your vertices, use:</p> -<div><pre> + +<p>There are multiple different aggregators and you can also make your own. You can look for already implemented aggregators in org.apache.hama.graph package.</p> + </div> +<div class="section"> +<h4>Start working with aggregators<a name="Start_working_with_aggregators"></a></h4> + +<p>In order to aggregate values from your vertices, use:</p> + +<div> +<pre> this.aggregate(index,value);</pre></div> - <p>This method is called from inside each vertex. Though it's not mandatory all vertices to make use of this method. The index parameter of this method is a number that is equivalent to the order of the registered aggregator. (The first registered aggregator has index 0, second has index 1 etc.) </p> - </div><div class="section"><h4>Get results<a name="Get_results"></a></h4> - <p>Inside your vertex, you can get the results of each aggregator by using the method:</p> - <div><pre> + +<p>This method is called from inside each vertex. Though it's not mandatory all vertices to make use of this method. The index parameter of this method is a number that is equivalent to the order of the registered aggregator. (The first registered aggregator has index 0, second has index 1 etc.) </p> + </div> +<div class="section"> +<h4>Get results<a name="Get_results"></a></h4> + +<p>Inside your vertex, you can get the results of each aggregator by using the method:</p> + +<div> +<pre> this.getAggregatedValue(index);</pre></div> - </div><div class="section"><h4>Write your own aggregators<a name="Write_your_own_aggregators"></a></h4> - <p>To write your own aggregator, you have to extend org.apache.hama.graph.<b>AbstractAggregator</b> class and implement the methods of #aggregate(M value) and #getValue(). For more, please see the default implementation of aggregators in org.apache.hama.graph package.</p> - </div></div><div class="section"><h3>Example: PageRankVertex<a name="Example:_PageRankVertex"></a></h3></div> - <p>To solve the Page Rank problem using Hama Graph, you can extends the Vertex class to create a PageRankVertex class. + </div> +<div class="section"> +<h4>Write your own aggregators<a name="Write_your_own_aggregators"></a></h4> + +<p>To write your own aggregator, you have to extend org.apache.hama.graph.<b>AbstractAggregator</b> class and implement the methods of #aggregate(M value) and #getValue(). For more, please see the default implementation of aggregators in org.apache.hama.graph package.</p> + </div></div> +<div class="section"> +<h3>Example: PageRankVertex<a name="Example:_PageRankVertex"></a></h3></div> + +<p>To solve the Page Rank problem using Hama Graph, you can extends the Vertex class to create a PageRankVertex class. In this example, the algorithm described Google's Pregel paper was used. The value of a vertex represents the tentative page rank of the vertex. The graph is intialized with each vertex value equal to 1/numOfVertices. In each of the first 30 supersteps, each vertex sends its tentative page rank along all of its outgoing edges. <br /><br /> From Superstep 1 to 30, each vertex sums up the values arriving on all its messages and sets its tentative page rank to (1 - 0.85) / numOfVertices + (0.85 * sum). </p> - <div><pre> + +<div> +<pre> public static class PageRankVertex extends Vertex<Text, NullWritable, DoubleWritable> { @@ -364,18 +396,14 @@ From Superstep 1 to 30, each vertex sums <footer> <div class="container"> - <div class="row span12">Copyright © 2008-2014 - <a href="http://www.apache.org/">The Apache Software Foundation</a>. - All Rights Reserved. - - </div> - - <?xml version="1.0" encoding="UTF-8"?> -<div class="row span16">Apache Hama, Apache, the Apache feather logo, and + <div class="row"> + +<div style="font-size:80%;">Apache Hama, Apache, the Apache feather logo, and the Apache Hama project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> - + </div> + <p id="poweredBy" class="pull-right"> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> @@ -384,5 +412,5 @@ From Superstep 1 to 30, each vertex sums </div> </footer> - </body> + </body> </html> Modified: hama/site/trunk/hama_on_clouds.html URL: http://svn.apache.org/viewvc/hama/site/trunk/hama_on_clouds.html?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== --- hama/site/trunk/hama_on_clouds.html (original) +++ hama/site/trunk/hama_on_clouds.html Tue Jun 30 07:32:56 2015 @@ -1,22 +1,22 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at Mar 13, 2014 - | Rendered using Apache Maven Fluido Skin 1.3.0 + | Generated by Apache Maven Doxia at 2015-06-30 + | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20140313" /> + <meta name="Date-Revision-yyyymmdd" content="20150630" /> <meta http-equiv="Content-Language" content="en" /> - <title>Hama - + <title>Apache Hama - Deploy a Hama cluster on EC2</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> @@ -28,7 +28,7 @@ ga('create', 'UA-46300992-1', 'apache.org'); ga('send', 'pageview');</script> - </head> + </head> <body class="topBarEnabled"> @@ -105,23 +105,6 @@ </ul> </li> <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://hadoop.apache.org/" title="Hadoop">Hadoop</a> -</li> - - <li> <a href="http://whirr.apache.org/" title="Whirr">Whirr</a> -</li> - - <li> <a href="http://incubator.apache.org/bigtop/" title="Bigtop">Bigtop</a> -</li> - - <li> <a href="http://mahout.apache.org/" title="Mahout">Mahout</a> -</li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Art works <b class="caret"></b></a> <ul class="dropdown-menu"> @@ -129,41 +112,26 @@ </li> </ul> </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a> -</li> - - <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a> -</li> - - <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a> -</li> - - <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a> -</li> - </ul> - </li> </ul> - - <ul class="nav pull-right"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li> <a href="http://wiki.apache.org/hama" title="Wiki">Wiki</a> -</li> - <li> <a href="http://issues.apache.org/jira/browse/HAMA" title="JIRA">JIRA</a> -</li> - <li> <a href="http://twitter.com/apachehama" title="Hama Twitter">Hama Twitter</a> -</li> - </ul> - </li> - </ul> - + + + + + <iframe src="https://www.facebook.com/plugins/like.php?href=http://hama.apache.org&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://hama.apache.org" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + </div> </div> @@ -174,10 +142,13 @@ <div id="banner"> <div class="pull-left"> <a href="index.html" id="bannerLeft"> - <img src="images/headerlogo.png" alt="Apache Hama" width="340"/> + <img src="http://www.apache.org/images/feather-small.gif" alt="Apache Hama"/> </a> </div> - <div class="pull-right"> </div> + <div class="pull-right"> <div id="bannerRight"> + <h2>Apache Hama</h2> + </div> + </div> <div class="clear"><hr/></div> </div> @@ -185,24 +156,10 @@ <ul class="breadcrumb"> - <li class=""> - <a href="http://www.apache.org/" class="externalLink" title="Apache"> - Apache</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="./" title="Hama"> - Hama</a> - </li> - <li class="divider ">/</li> - <li class=""> - Deploy a Hama cluster on EC2</li> - + - <li id="publishDate" class="pull-right">Last Published: 2014-03-13</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.7.0-SNAPSHOT</li> - + </ul> </div> @@ -225,12 +182,19 @@ See the License for the specific language governing permissions and limitations under the License. --> - <div class="section"><h2>Hama on Clouds<a name="Hama_on_Clouds"></a></h2></div> - <p>This document describes how to deploy Hama clusters on Clouds e.g., EC2, Rackspace using Whirr.</p> + <div class="section"> +<h2>Hama on Clouds<a name="Hama_on_Clouds"></a></h2></div> + +<p>This document describes how to deploy Hama clusters on Clouds e.g., EC2, Rackspace using Whirr.</p> - <div class="section"><h3>Deploy a Hama cluster on EC2<a name="Deploy_a_Hama_cluster_on_EC2"></a></h3></div> - <p>The following commands install Whirr and start a 5 node Hama cluster on Amazon EC2 in 5 minutes or less. - </p><div><pre> + +<div class="section"> +<h3>Deploy a Hama cluster on EC2<a name="Deploy_a_Hama_cluster_on_EC2"></a></h3></div> + +<p>The following commands install Whirr and start a 5 node Hama cluster on Amazon EC2 in 5 minutes or less. + </p> +<div> +<pre> % curl -O http://www.apache.org/dist/whirr/whirr-0.x.0/whirr-0.x.0.tar.gz % tar zxf whirr-0.x.0.tar.gz; cd whirr-0.x.0 @@ -240,8 +204,12 @@ % bin/whirr launch-cluster --config recipes/hama-ec2.properties --private-key-file ~/.ssh/id_rsa_whirr</pre></div> - <div class="section"><h3>Execute Hama Examples<a name="Execute_Hama_Examples"></a></h3></div> - <div><pre> + +<div class="section"> +<h3>Execute Hama Examples<a name="Execute_Hama_Examples"></a></h3></div> + +<div> +<pre> % cd /usr/local/hama-0.x.0 % bin/hama jar hama-examples-x.x.x.jar [args]</pre></div> @@ -253,18 +221,14 @@ <footer> <div class="container"> - <div class="row span12">Copyright © 2008-2014 - <a href="http://www.apache.org/">The Apache Software Foundation</a>. - All Rights Reserved. - - </div> - - <?xml version="1.0" encoding="UTF-8"?> -<div class="row span16">Apache Hama, Apache, the Apache feather logo, and + <div class="row"> + +<div style="font-size:80%;">Apache Hama, Apache, the Apache feather logo, and the Apache Hama project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> - + </div> + <p id="poweredBy" class="pull-right"> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> @@ -273,5 +237,5 @@ </div> </footer> - </body> + </body> </html> Modified: hama/site/trunk/images/apache-maven-project-2.png URL: http://svn.apache.org/viewvc/hama/site/trunk/images/apache-maven-project-2.png?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== Binary files - no diff available. Modified: hama/site/trunk/index.html URL: http://svn.apache.org/viewvc/hama/site/trunk/index.html?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== --- hama/site/trunk/index.html (original) +++ hama/site/trunk/index.html Tue Jun 30 07:32:56 2015 @@ -1,60 +1,262 @@ -<!doctype html> -<meta charset="utf-8"> -<title>Apache Hama - a general BSP computing engine on top of Hadoop</title> -<link rel="stylesheet" href="./css/style.css" type="text/css" /> -</head> -<body> -<center> -<div class="main" style="background-image: url(http://www.apache.org/images/feather-small.gif); background-repeat: no-repeat;"> -<div align="center"> -<h1>Apache Hama</h1> -Big Data and High-Performance Computing -</div> -<div align="right" style="margin-top: 20px;"> -<a href="https://twitter.com/ApacheHama" class="twitter-follow-button" data-show-count="true" data-size="small">Follow @ApacheHama</a> -<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> -</div> - -<font style="font-size:160%;">A</font>pache Hama<sup>TM</sup> is a general BSP computing engine on top of Hadoop, which was established in 2012 as a Top-Level Project of The Apache Software Foundation. It provides High-Performance computing engine for performing massive scientific and iterative algorithms on existing open source or enterprise Hadoop cluster, such as Matrix, Graph, and Machine Learning. - -<div style="text-align:center;margin-top:20px;margin-bottom:20px;"><img src="images/hama_art_arthur_300x220.png" width="280" /></div> - -Use the links below to download Apache Hama releases from one of our mirrors. You should verify the integrity of the files using the signatures and checksums available from this page. -<br/><br/> -Apache Hama releases are available under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. See the NOTICE.txt file contained in each release artifact for applicable copyright attribution notices. -<br/><br/> +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2015-06-30 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="Date-Revision-yyyymmdd" content="20150630" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache Hama - + Big Data and High-Performance Computing</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + + + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> + + + +<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-46300992-1', 'apache.org'); + ga('send', 'pageview');</script> + + </head> + <body class="topBarEnabled"> + + + + + + <div id="topbar" class="navbar navbar-fixed-top "> + <div class="navbar-inner"> + <div class="container"><div class="nav-collapse"> + + + <ul class="nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Information <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="index.html" title="Overview">Overview</a> +</li> + + <li> <a href="downloads.html" title="Downloads">Downloads</a> +</li> + + <li> <a href="team-list.html" title="Who We Are">Who We Are</a> +</li> + + <li> <a href="privacy_policy.html" title="Privacy Policy">Privacy Policy</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Resources <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="developers.html" title="Developers">Developers</a> +</li> + + <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a> +</li> + + <li> <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a> +</li> + + <li> <a href="irc-channel.html" title="IRC channel">IRC channel</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="getting_started_with_hama.html" title="Getting Started">Getting Started</a> +</li> + + <li> <a href="hama_on_clouds.html" title="Hama on Clouds">Hama on Clouds</a> +</li> + + <li> <a href="run_examples.html" title="Run Examples">Run Examples</a> +</li> + + <li> <a href="hama_bsp_tutorial.html" title="BSP tutorial">BSP tutorial</a> +</li> + + <li> <a href="hama_graph_tutorial.html" title="Graph tutorial">Graph tutorial</a> +</li> + + <li> <a href="http://wiki.apache.org/hama/Presentations" title="Presentations">Presentations</a> +</li> + + <li> <a href="http://wiki.apache.org/hama/Articles" title="Research Papers">Research Papers</a> +</li> + + <li> <a href="http://wiki.apache.org/hama/Books" title="Books">Books</a> +</li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Art works <b class="caret"></b></a> + <ul class="dropdown-menu"> + + <li> <a href="artwork.html" title="Artwork and Clothing">Artwork and Clothing</a> +</li> + </ul> + </li> + </ul> + + + + + + + <iframe src="https://www.facebook.com/plugins/like.php?href=http://hama.apache.org&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://hama.apache.org" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + + </div> + + </div> + </div> + </div> + + <div class="container"> + <div id="banner"> + <div class="pull-left"> + <a href="index.html" id="bannerLeft"> + <img src="http://www.apache.org/images/feather-small.gif" alt="Apache Hama"/> + </a> + </div> + <div class="pull-right"> <div id="bannerRight"> + <h2>Apache Hama</h2> + </div> + </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + + + + + </ul> + </div> + + + + <div id="bodyColumn" > + + <!-- Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. --> + + + <div class="section"> +<h2></h2></div> + +<p> + Apache Hama<sup>TM</sup> is a general BSP computing engine on top of Hadoop, which was established in 2012 as a Top-Level Project of The Apache Software Foundation. + It provides High-Performance computing engine for performing massive scientific and iterative algorithms on existing open source or enterprise Hadoop cluster, + such as Matrix, Graph, and Machine Learning. + </p> + +<div align="center"><img src="./images/hama_art_arthur_300x220.png" alt="" /> + </div> + + +<div class="section"> +<h3>Getting Started<a name="Getting_Started"></a></h3></div> + +<p> + Start by installing Hama on a Hadoop cluster. + <br /> + </p> + <ul> - <li><a href="http://www.apache.org/dyn/closer.cgi/hama">Download Hama</a> from the release page.</li> - <li><a href="http://wiki.apache.org/hama/GettingStarted">Getting Started</a> with Hama. - <ul> - <li>On <a href="http://wiki.apache.org/hama/GettingStartedMesos">Mesos</a> cluster</li> - <li>On <a href="http://wiki.apache.org/hama/GettingStartedYARN">YARN</a> cluster</li> - </ul> - </li> - <li>Launch a <a href="http://wiki.apache.org/hama/LaunchHamaUsingWhirr">Hama cluster on Clouds</a>.</li> - <li>Learn more about <a href="http://wiki.apache.org/hama">Hama and BSP</a> by reading the documentation.</li> -</ul> -<br/> -<hr/> -<div align="center"><h2 style="margin-top: 35px; margin-bottom: 15px;">Project Team</h2> -<table width="95%"> -<tr><td align="center"><b>Anastasis Andronidis</b></td><td align="center">Apurv Verma</td><td align="center">Byungseok Min</td></tr> -<tr><td align="center"><b>Chia-Hung Lin</b></td><td align="center"><b>Edward J. Yoon</b></td><td align="center"><b>Suraj Menon</b></td></tr> -<tr><td align="center"><b>MaoYuan Xian</b></td><td align="center"><b>Martin Illecker</b></td><td align="center"><b>Steve Loughran</b></td></tr> -<tr><td align="center">Jeffrey Ryan Fenchel</td><td align="center"><b>Tommaso Teofili</b></td><td align="center">Victor Lee</td></tr> -<tr><td align="center"><b>Yexi Jiang</b></td><td align="center">Thomas Jungblut (emeritus)</td><td></td></tr> -</table> -</div> -<br/> - - -<hr/> -<font style="font-size:80%"> -Copyright © 2008-2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br/> -Apache Hama, Apache, the Apache feather logo, and the Apache Hama project logos are trademarks of The Apache Software Foundation. -All other marks mentioned may be trademarks or registered trademarks of their respective owners.</font> -</div> -</center> -</body> -</html> + +<li><a href="downloads.html">Download</a> Hama from the release page.</li> + +<li><a href="getting_started_with_hama.html">Getting Started</a> with Hama.</li> + +<li><a href="hama_on_clouds.html">Launch a Hama cluster</a> on Clouds.</li> + +<li>Hama <a href="hama_bsp_tutorial.html">BSP Tutorial.</a></li> + +<li>Hama <a href="hama_graph_tutorial.html">Graph Tutorial.</a></li> + +<li><a class="externalLink" href="http://wiki.apache.org/hama">Learn about</a> Hama and BSP by reading the documentation.</li> + </ul> + +<div class="section"> +<h3>Getting Involved<a name="Getting_Involved"></a></h3></div> + +<p> + Hama is an open source volunteer project under the Apache Software Foundation. We encourage you to learn about the project and contribute your expertise. + Here are some starter links: <br /> + </p> + +<ul> + +<li>See our <a class="externalLink" href="http://wiki.apache.org/hama/HowToContribute">How to Contribute to Hama</a> page</li> + +<li><a class="externalLink" href="http://wiki.apache.org/hama/Jira">Jira usage guidelines</a></li> + </ul> + + </div> + </div> + + <hr/> + + <footer> + <div class="container"> + <div class="row"> + +<div style="font-size:80%;">Apache Hama, Apache, the Apache feather logo, and + the Apache Hama project logos are trademarks of The Apache Software + Foundation. All other marks mentioned may be trademarks or registered + trademarks of their respective owners.</div> + </div> + + <p id="poweredBy" class="pull-right"> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + </p> + + </div> + </footer> + </body> +</html> Modified: hama/site/trunk/integration.html URL: http://svn.apache.org/viewvc/hama/site/trunk/integration.html?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== --- hama/site/trunk/integration.html (original) +++ hama/site/trunk/integration.html Tue Jun 30 07:32:56 2015 @@ -1,21 +1,21 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at Mar 13, 2014 - | Rendered using Apache Maven Fluido Skin 1.3.0 + | Generated by Apache Maven Doxia at 2015-06-30 + | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20140313" /> + <meta name="Date-Revision-yyyymmdd" content="20150630" /> <meta http-equiv="Content-Language" content="en" /> - <title>Hama - Continuous Integration</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> + <title>Apache Hama - Continuous Integration</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> @@ -27,7 +27,7 @@ ga('create', 'UA-46300992-1', 'apache.org'); ga('send', 'pageview');</script> - </head> + </head> <body class="topBarEnabled"> @@ -104,23 +104,6 @@ </ul> </li> <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://hadoop.apache.org/" title="Hadoop">Hadoop</a> -</li> - - <li> <a href="http://whirr.apache.org/" title="Whirr">Whirr</a> -</li> - - <li> <a href="http://incubator.apache.org/bigtop/" title="Bigtop">Bigtop</a> -</li> - - <li> <a href="http://mahout.apache.org/" title="Mahout">Mahout</a> -</li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Art works <b class="caret"></b></a> <ul class="dropdown-menu"> @@ -128,41 +111,26 @@ </li> </ul> </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a> -</li> - - <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a> -</li> - - <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a> -</li> - - <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a> -</li> - </ul> - </li> </ul> - - <ul class="nav pull-right"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li> <a href="http://wiki.apache.org/hama" title="Wiki">Wiki</a> -</li> - <li> <a href="http://issues.apache.org/jira/browse/HAMA" title="JIRA">JIRA</a> -</li> - <li> <a href="http://twitter.com/apachehama" title="Hama Twitter">Hama Twitter</a> -</li> - </ul> - </li> - </ul> - + + + + + <iframe src="https://www.facebook.com/plugins/like.php?href=http://hama.apache.org&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://hama.apache.org" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + </div> </div> @@ -173,10 +141,13 @@ <div id="banner"> <div class="pull-left"> <a href="index.html" id="bannerLeft"> - <img src="images/headerlogo.png" alt="Apache Hama" width="340"/> + <img src="http://www.apache.org/images/feather-small.gif" alt="Apache Hama"/> </a> </div> - <div class="pull-right"> </div> + <div class="pull-right"> <div id="bannerRight"> + <h2>Apache Hama</h2> + </div> + </div> <div class="clear"><hr/></div> </div> @@ -184,23 +155,10 @@ <ul class="breadcrumb"> - <li class=""> - <a href="http://www.apache.org/" class="externalLink" title="Apache"> - Apache</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="./" title="Hama"> - Hama</a> - </li> - <li class="divider ">/</li> - <li class="">Continuous Integration</li> - + - <li id="publishDate" class="pull-right">Last Published: 2014-03-13</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.7.0-SNAPSHOT</li> - + </ul> </div> @@ -208,7 +166,16 @@ <div id="bodyColumn" > - <a name="Overview"></a><div class="section"><h2>Overview<a name="Overview"></a></h2>This project uses <a class="externalLink" href="https://hudson.dev.java.net/">Hudson</a>.</div><a name="Access"></a><div class="section"><h2>Access<a name="Access"></a></h2><p>The following is a link to the continuous integration system used by the project.</p><div class="source"><pre class="prettyprint"><a class="externalLink" href="https://hudson.apache.org/hudson/job/Hama-Nightly/">https://hudson.apache.org/hudson/job/Hama-Nightly/</a></pre></div></div><a name="Notifiers"></a><div class="section"><h2>Notifiers<a name="Notifiers"></a></h2><p>No notifiers are defined. Please check back at a later date.</p></div> + <a name="Overview"></a> +<div class="section"> +<h2>Overview<a name="Overview"></a></h2>This project uses <a class="externalLink" href="https://hudson.dev.java.net/">Hudson</a>.</div><a name="Access"></a> +<div class="section"> +<h2>Access<a name="Access"></a></h2> +<p>The following is a link to the continuous integration system used by the project.</p> +<div class="source"><pre class="prettyprint"><a class="externalLink" href="https://hudson.apache.org/hudson/job/Hama-Nightly/">https://hudson.apache.org/hudson/job/Hama-Nightly/</a></pre></div></div><a name="Notifiers"></a> +<div class="section"> +<h2>Notifiers<a name="Notifiers"></a></h2> +<p>No notifiers are defined. Please check back at a later date.</p></div> </div> </div> @@ -216,18 +183,14 @@ <footer> <div class="container"> - <div class="row span12">Copyright © 2008-2014 - <a href="http://www.apache.org/">The Apache Software Foundation</a>. - All Rights Reserved. - - </div> - - <?xml version="1.0" encoding="UTF-8"?> -<div class="row span16">Apache Hama, Apache, the Apache feather logo, and + <div class="row"> + +<div style="font-size:80%;">Apache Hama, Apache, the Apache feather logo, and the Apache Hama project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> - + </div> + <p id="poweredBy" class="pull-right"> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> @@ -236,5 +199,5 @@ </div> </footer> - </body> + </body> </html> Modified: hama/site/trunk/irc-channel.html URL: http://svn.apache.org/viewvc/hama/site/trunk/irc-channel.html?rev=1688383&r1=1688382&r2=1688383&view=diff ============================================================================== --- hama/site/trunk/irc-channel.html (original) +++ hama/site/trunk/irc-channel.html Tue Jun 30 07:32:56 2015 @@ -1,22 +1,22 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at Mar 13, 2014 - | Rendered using Apache Maven Fluido Skin 1.3.0 + | Generated by Apache Maven Doxia at 2015-06-30 + | Rendered using Apache Maven Fluido Skin 1.4 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20140313" /> + <meta name="Date-Revision-yyyymmdd" content="20150630" /> <meta http-equiv="Content-Language" content="en" /> - <title>Hama - + <title>Apache Hama - IRC Channel</title> - <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> - <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> @@ -28,7 +28,7 @@ ga('create', 'UA-46300992-1', 'apache.org'); ga('send', 'pageview');</script> - </head> + </head> <body class="topBarEnabled"> @@ -105,23 +105,6 @@ </ul> </li> <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://hadoop.apache.org/" title="Hadoop">Hadoop</a> -</li> - - <li> <a href="http://whirr.apache.org/" title="Whirr">Whirr</a> -</li> - - <li> <a href="http://incubator.apache.org/bigtop/" title="Bigtop">Bigtop</a> -</li> - - <li> <a href="http://mahout.apache.org/" title="Mahout">Mahout</a> -</li> - </ul> - </li> - <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Art works <b class="caret"></b></a> <ul class="dropdown-menu"> @@ -129,41 +112,26 @@ </li> </ul> </li> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> - <ul class="dropdown-menu"> - - <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a> -</li> - - <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a> -</li> - - <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a> -</li> - - <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a> -</li> - </ul> - </li> </ul> - - <ul class="nav pull-right"> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a> - <ul class="dropdown-menu"> - <li> <a href="http://wiki.apache.org/hama" title="Wiki">Wiki</a> -</li> - <li> <a href="http://issues.apache.org/jira/browse/HAMA" title="JIRA">JIRA</a> -</li> - <li> <a href="http://twitter.com/apachehama" title="Hama Twitter">Hama Twitter</a> -</li> - </ul> - </li> - </ul> - + + + + + <iframe src="https://www.facebook.com/plugins/like.php?href=http://hama.apache.org&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" + scrolling="no" frameborder="0" + style="border:none; width:100px; height:20px; margin-top: 10px;" class="pull-right" ></iframe> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + <ul class="nav pull-right"><li style="margin-top: 10px;"> + + <div class="g-plusone" data-href="http://hama.apache.org" data-size="medium" width="60px" align="right" ></div> + + </li></ul> + + </div> </div> @@ -174,10 +142,13 @@ <div id="banner"> <div class="pull-left"> <a href="index.html" id="bannerLeft"> - <img src="images/headerlogo.png" alt="Apache Hama" width="340"/> + <img src="http://www.apache.org/images/feather-small.gif" alt="Apache Hama"/> </a> </div> - <div class="pull-right"> </div> + <div class="pull-right"> <div id="bannerRight"> + <h2>Apache Hama</h2> + </div> + </div> <div class="clear"><hr/></div> </div> @@ -185,24 +156,10 @@ <ul class="breadcrumb"> - <li class=""> - <a href="http://www.apache.org/" class="externalLink" title="Apache"> - Apache</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="./" title="Hama"> - Hama</a> - </li> - <li class="divider ">/</li> - <li class=""> - IRC Channel</li> - + - <li id="publishDate" class="pull-right">Last Published: 2014-03-13</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.7.0-SNAPSHOT</li> - + </ul> </div> @@ -226,8 +183,10 @@ limitations under the License. --> - <div class="section"><h2>IRC Channel<a name="IRC_Channel"></a></h2></div> - <p>There is an IRC channel dedicated to Hama at irc.freenode.org. The name of the channel is #hama. + <div class="section"> +<h2>IRC Channel<a name="IRC_Channel"></a></h2></div> + +<p>There is an IRC channel dedicated to Hama at irc.freenode.org. The name of the channel is #hama. <br /><br /> The IRC channel can be used for online discussion about hama related stuff, but developers should be careful to transfer all the official decisions or useful discussions to the issue tracking system. @@ -241,18 +200,14 @@ <footer> <div class="container"> - <div class="row span12">Copyright © 2008-2014 - <a href="http://www.apache.org/">The Apache Software Foundation</a>. - All Rights Reserved. - - </div> - - <?xml version="1.0" encoding="UTF-8"?> -<div class="row span16">Apache Hama, Apache, the Apache feather logo, and + <div class="row"> + +<div style="font-size:80%;">Apache Hama, Apache, the Apache feather logo, and the Apache Hama project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> - + </div> + <p id="poweredBy" class="pull-right"> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> @@ -261,5 +216,5 @@ </div> </footer> - </body> + </body> </html>
