<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to OfflineAnalysis</title><link>https://sourceforge.net/p/arcomem/wiki/OfflineAnalysis/</link><description>Recent changes to OfflineAnalysis</description><atom:link href="https://sourceforge.net/p/arcomem/wiki/OfflineAnalysis/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 19 Feb 2014 00:33:05 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/arcomem/wiki/OfflineAnalysis/feed" rel="self" type="application/rss+xml"/><item><title>OfflineAnalysis modified by John Arcoman</title><link>https://sourceforge.net/p/arcomem/wiki/OfflineAnalysis/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="the-arcomem-offline-analysis-engine"&gt;The ARCOMEM Offline Analysis Engine&lt;/h1&gt;
&lt;p&gt;Crawling the web generates large volumes of data. Processing such large&lt;br /&gt;
datasets is non-trivial and requires distributed processing to run in any&lt;br /&gt;
reasonable amount of time. In addition, the sheer amount of data means that any&lt;br /&gt;
data transfer required for the processing itself carries considerable costs.&lt;/p&gt;
&lt;p&gt;The MapReduce framework is designed for exactly the kind of problem where you&lt;br /&gt;
have a large volume of data that needs processing across a cluster of&lt;br /&gt;
machines. The MapReduce framework assumes that the data is held on a&lt;br /&gt;
distributed filesystem across the machines making up the cluster. When a&lt;br /&gt;
MapReduce job is run, the framework attempts to optimise the assignment of&lt;br /&gt;
processing tasks within the job so that tasks are run on the machines that host&lt;br /&gt;
the data being processed; pushing the computation to the data rather than&lt;br /&gt;
pulling the data to the computation (see &lt;a class="" href="/p/arcomem/wiki/MapReduce/"&gt;the section describing&lt;br /&gt;
MapReduce&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The ARCOMEM Offline Analysis Engine has been designed to take full advantage of&lt;br /&gt;
the MapReduce framework and operates over the data stored by the crawler across&lt;br /&gt;
the cluster in the HBase database. The remainder of this document aims to&lt;br /&gt;
describe the components that make-up the Offline Analysis Engine and to&lt;br /&gt;
describe how new offline analysis modules can be implemented and run.&lt;/p&gt;
&lt;h2 id="components-of-the-offline-analysis-engine"&gt;Components of the Offline Analysis Engine&lt;/h2&gt;
&lt;p&gt;The Offline Analysis Engine consists of two main types of component: analysis&lt;br /&gt;
modules and command-line tools for running the modules. There are four types of&lt;br /&gt;
supported module:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Standard modules&lt;/strong&gt; which operate as Map-Reduce tasks over the resource&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;table created by the crawler; HBase modules&lt;/strong&gt; which operate as Map-Reduce&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tasks over arbitrary HBase tables; HDFS modules&lt;/strong&gt; which perform their&lt;/li&gt;
&lt;li&gt;**operations as Map-Reduce tasks over arbitrary files stored on the Hadoop&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distributed File System (HDFS); and Local modules&lt;/strong&gt; which don\'t run in&lt;/li&gt;
&lt;li&gt;**distributed mode but can push and pull information to/from the HBase, HDFS&lt;/li&gt;
&lt;li&gt;**and/or the knowledge base (triple store).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Most modules that need access to the crawled data will be implemented as&lt;br /&gt;
standard modules. Modules that just need to talk with the knowledge base will&lt;br /&gt;
be implemented as local modules. The HDFS and HBase module types are included&lt;br /&gt;
so any unforeseen processing scenarios can be handled.&lt;/p&gt;
&lt;p&gt;There are two command line tools included in the engine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SingleOfflineProcessRunner:&lt;/strong&gt; a tool for running a single analysis module;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;and OfflineProcessRunner:&lt;/strong&gt; a tool for running an entire configurable&lt;/li&gt;
&lt;li&gt;**pipeline of analysis modules.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These tools can be used in an adhoc fashion for testing modules but also form&lt;br /&gt;
the basis for running the offline process within the ARCOMEM system as a whole.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">John Arcoman</dc:creator><pubDate>Wed, 19 Feb 2014 00:33:05 -0000</pubDate><guid>https://sourceforge.net715b13ba4ce41b80c5ae1afc47950e6b705bf656</guid></item></channel></rss>