You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by bu...@apache.org on 2011/12/13 19:31:00 UTC

svn commit: r800214 - in /websites/staging/accumulo/trunk/content/accumulo: user_manual_1.3-incubating/ user_manual_1.4-incubating/

Author: buildbot
Date: Tue Dec 13 18:30:59 2011
New Revision: 800214

Log:
Staging update by buildbot

Modified:
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img1.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img2.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img3.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img4.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img5.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Administration.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Analytics.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Contents.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/High_Speed_Ingest.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Security.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Shell_Commands.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Table_Configuration.html
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img1.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img4.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img5.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img6.png
    websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img7.png

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img1.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img2.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img3.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img4.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.3-incubating/img5.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Administration.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Administration.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Administration.html Tue Dec 13 18:30:59 2011
@@ -127,7 +127,7 @@
 <h2 id="a_idconfigurationa_configuration"><a id=Configuration></a> Configuration</h2>
 <p>Accumulo is configured by editing several Shell and XML files found in $ACCUMULO_HOME/conf. The structure closely resembles Hadoop's configuration files. </p>
 <h3 id="a_idedit_confaccumulo-envsha_edit_confaccumulo-envsh"><a id=Edit_conf/accumulo-env.sh></a> Edit conf/accumulo-env.sh</h3>
-<p>Accumulo needs to know where to find the software it depends on. Edit accumuloenv. sh and specify the following: </p>
+<p>Accumulo needs to know where to find the software it depends on. Edit accumulo-env.sh and specify the following: </p>
 <ol>
 <li>Enter the location of the installation directory of Accumulo for $ACCUMULO_HOME</li>
 <li>Enter your system's Java home for $JAVA_HOME</li>

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Analytics.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Analytics.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Analytics.html Tue Dec 13 18:30:59 2011
@@ -97,7 +97,7 @@
 <p><a id=CHILD_LINKS></a><strong>Subsections</strong></p>
 <ul>
 <li><a href="Analytics.html#MapReduce">MapReduce</a></li>
-<li><a href="Analytics.html#Aggregating_Iterators">Aggregating Iterators</a></li>
+<li><a href="Analytics.html#Combiners">Combiners</a></li>
 <li><a href="Analytics.html#Statistical_Modeling">Statistical Modeling</a></li>
 </ul>
 <hr />
@@ -192,12 +192,12 @@
 
 <p>An example of using MapReduce with Accumulo can be found at <br />
 accumulo/docs/examples/README.mapred </p>
-<h2 id="a_idaggregating_iteratorsa_aggregating_iterators"><a id=Aggregating_Iterators></a> Aggregating Iterators</h2>
-<p>Many applications can benefit from the ability to aggregate values across common keys. This can be done via aggregating iterators and is similar to the Reduce step in MapReduce. This provides the ability to define online, incrementally updated analytics without the overhead or latency associated with batch-oriented MapReduce jobs. </p>
-<p>All that is needed to aggregate values of a table is to identify the fields over which values will be grouped, insert mutations with those fields as the key, and configure the table with an aggregating iterator that supports the summarization operation desired. </p>
-<p>The only restriction on an aggregating iterator is that the aggregator developer should not assume that all values for a given key have been seen, since new mutations can be inserted at anytime. This precludes using the total number of values in the aggregation such as when calculating an average, for example. </p>
+<h2 id="a_idcombinersa_combiners"><a id=Combiners></a> Combiners</h2>
+<p>Many applications can benefit from the ability to aggregate values across common keys. This can be done via Combiner iterators and is similar to the Reduce step in MapReduce. This provides the ability to define online, incrementally updated analytics without the overhead or latency associated with batch-oriented MapReduce jobs. </p>
+<p>All that is needed to aggregate values of a table is to identify the fields over which values will be grouped, insert mutations with those fields as the key, and configure the table with a combining iterator that supports the summarizing operation desired. </p>
+<p>The only restriction on an combining iterator is that the combiner developer should not assume that all values for a given key have been seen, since new mutations can be inserted at anytime. This precludes using the total number of values in the aggregation such as when calculating an average, for example. </p>
 <h3 id="a_idfeature_vectorsa_feature_vectors"><a id=Feature_Vectors></a> Feature Vectors</h3>
-<p>An interesting use of aggregating iterators within a Accumulo table is to store feature vectors for use in machine learning algorithms. For example, many algorithms such as k-means clustering, support vector machines, anomaly detection, etc. use the concept of a feature vector and the calculation of distance metrics to learn a particular model. The columns in a Accumulo table can be used to efficiently store sparse features and their weights to be incrementally updated via the use of an aggregating iterator. </p>
+<p>An interesting use of combining iterators within a Accumulo table is to store feature vectors for use in machine learning algorithms. For example, many algorithms such as k-means clustering, support vector machines, anomaly detection, etc. use the concept of a feature vector and the calculation of distance metrics to learn a particular model. The columns in a Accumulo table can be used to efficiently store sparse features and their weights to be incrementally updated via the use of an combining iterator. </p>
 <h2 id="a_idstatistical_modelinga_statistical_modeling"><a id=Statistical_Modeling></a> Statistical Modeling</h2>
 <p>Statistical models that need to be updated by many machines in parallel could be similarly stored within a Accumulo table. For example, a MapReduce job that is iteratively updating a global statistical model could have each map or reduce worker reference the parts of the model to be read and updated through an embedded Accumulo client. </p>
 <p>Using Accumulo this way enables efficient and fast lookups and updates of small pieces of information in a random access pattern, which is complementary to MapReduce's sequential access model. </p>

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Contents.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Contents.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Contents.html Tue Dec 13 18:30:59 2011
@@ -168,7 +168,7 @@
 <li><a href="Table_Configuration.html#Setting_Iterators_Programmatically">Setting Iterators Programmatically</a></li>
 <li><a href="Table_Configuration.html#Versioning_Iterators_and_Timestamps">Versioning Iterators and Timestamps</a></li>
 <li><a href="Table_Configuration.html#Filters">Filters</a></li>
-<li><a href="Table_Configuration.html#Aggregating_Iterators">Aggregating Iterators</a></li>
+<li><a href="Table_Configuration.html#Combiners">Combiners</a></li>
 </ul>
 </li>
 <li>
@@ -213,7 +213,7 @@
 </ul>
 </li>
 <li>
-<p><a href="Analytics.html#Aggregating_Iterators">Aggregating Iterators</a></p>
+<p><a href="Analytics.html#Combiners">Combiners</a></p>
 <ul>
 <li><a href="Analytics.html#Feature_Vectors">Feature Vectors</a></li>
 </ul>

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/High_Speed_Ingest.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/High_Speed_Ingest.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/High_Speed_Ingest.html Tue Dec 13 18:30:59 2011
@@ -140,7 +140,7 @@
 accumulo/docs/examples/README.bulkIngest </p>
 <h2 id="a_idlogical_time_for_bulk_ingesta_logical_time_for_bulk_ingest"><a id=Logical_Time_for_Bulk_Ingest></a> Logical Time for Bulk Ingest</h2>
 <p>Logical time is important for bulk imported data, for which the client code may be choosing a timestamp. At bulk import time, the user can choose to enable logical time for the set of files being imported. When its enabled, Accumulo uses a specialized system iterator to lazily set times in a bulk imported file. This mechanism guarantees that times set by unsynchronized multi-node applications (such as those running on MapReduce) will maintain some semblance of causal ordering. This mitigates the problem of the time being wrong on the system that created the file for bulk import. These times are not set when the file is imported, but whenever it is read by scans or compactions. At import, a time is obtained and always used by the specialized system iterator to set that time. </p>
-<p>The timestamp asigned by accumulo will be the same for every key in the file. This could cause problems if the file contains multiple keys that are identical except for the timestamp. In this case, the sort order of the keys will be undefined. This could occur if an insert and an update were in the same bulk import file. </p>
+<p>The timestamp assigned by accumulo will be the same for every key in the file. This could cause problems if the file contains multiple keys that are identical except for the timestamp. In this case, the sort order of the keys will be undefined. This could occur if an insert and an update were in the same bulk import file. </p>
 <h2 id="a_idmapreduce_ingesta_mapreduce_ingest"><a id=MapReduce_Ingest></a> MapReduce Ingest</h2>
 <p>It is possible to efficiently write many mutations to Accumulo in parallel via a MapReduce job. In this scenario the MapReduce is written to process data that lives in HDFS and write mutations to Accumulo using the AccumuloOutputFormat. See the MapReduce section under Analytics for details. </p>
 <p>An example of using MapReduce can be found under <br />

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Security.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Security.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Security.html Tue Dec 13 18:30:59 2011
@@ -164,9 +164,9 @@
 </pre></div>
 
 
-<p>Any user with the alter table permission can add or remove this constraint. This constraint is not applied to bulk imported data, if this a concern then disable the bulk import pesmission. </p>
+<p>Any user with the alter table permission can add or remove this constraint. This constraint is not applied to bulk imported data, if this a concern then disable the bulk import permission. </p>
 <h2 id="a_idsecure_authorizations_handlinga_secure_authorizations_handling"><a id=Secure_Authorizations_Handling></a> Secure Authorizations Handling</h2>
-<p>For applications serving many users, it is not expected that a accumulo user will be created for each application user. In this case a accumulo user with all authorizations needed by any of the applications users must be created. To service queries, the application should create a scanner with the application users authorizations. These authorizations could be obtined from a trusted 3rd party. </p>
+<p>For applications serving many users, it is not expected that a accumulo user will be created for each application user. In this case a accumulo user with all authorizations needed by any of the applications users must be created. To service queries, the application should create a scanner with the application users authorizations. These authorizations could be obtained from a trusted 3rd party. </p>
 <p>Often production systems will integrate with Public-Key Infrastructure (PKI) and designate client code within the query layer to negotiate with PKI servers in order to authenticate users and retrieve their authorization tokens (credentials). This requires users to specify only the information necessary to authenticate themselves to the system. Once user identity is established, their credentials can be accessed by the client code and passed to Accumulo outside of the reach of the user. </p>
 <h2 id="a_idquery_services_layera_query_services_layer"><a id=Query_Services_Layer></a> Query Services Layer</h2>
 <p>Since the primary method of interaction with Accumulo is through the Java API, production environments often call for the implementation of a Query layer. This can be done using web services in containers such as Apache Tomcat, but is not a requirement. The Query Services Layer provides a mechanism for providing a platform on which user facing applications can be built. This allows the application designers to isolate potentially complex query logic, and enables a convenient point at which to perform essential security functions. </p>

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Shell_Commands.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Shell_Commands.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Shell_Commands.html Tue Dec 13 18:30:59 2011
@@ -373,19 +373,23 @@
 </p>
 <div class="codehilite"><pre><span class="err">usage:</span> <span class="err">egrep</span> <span class="err">&lt;regex&gt;</span> <span class="err">&lt;regex&gt;</span> <span class="err">[-?]</span> <span class="err">[-b</span> <span class="err">&lt;start-row&gt;]</span> <span class="err">[-c</span>   
        <span class="err">&lt;&lt;columnfamily&gt;[:&lt;columnqualifier&gt;]&gt;]</span> <span class="err">[-e</span> <span class="err">&lt;end-row&gt;]</span> <span class="err">[-f</span> <span class="err">&lt;int&gt;]</span>   
-       <span class="err">[-np]</span> <span class="err">[-s</span> <span class="err">&lt;comma-separated-authorizations&gt;]</span> <span class="err">[-st]</span> <span class="err">[-t</span> <span class="err">&lt;arg&gt;]</span>   
+       <span class="err">[-np]</span> <span class="err">[-nt</span> <span class="err">&lt;arg&gt;]</span> <span class="err">[-s</span> <span class="err">&lt;comma-separated-authorizations&gt;]</span> <span class="err">[-st]</span> <span class="err">[-t</span>   
+       <span class="err">&lt;table&gt;]</span>   
 <span class="err">description:</span> <span class="err">searches</span> <span class="err">each</span> <span class="err">row,</span> <span class="err">column</span> <span class="err">family,</span> <span class="err">column</span> <span class="err">qualifier</span> <span class="err">and</span> <span class="err">value,</span> <span class="err">in</span>   
-       <span class="err">parallel,</span> <span class="err">on</span> <span class="err">the</span> <span class="err">server</span> <span class="err">side</span> <span class="err">(using</span> <span class="err">a</span> <span class="err">java</span> <span class="err">regular</span> <span class="err">expression)</span>   
+       <span class="err">parallel,</span> <span class="err">on</span> <span class="err">the</span> <span class="err">server</span> <span class="err">side</span> <span class="err">(using</span> <span class="err">a</span> <span class="err">java</span> <span class="err">Matcher,</span> <span class="err">so</span> <span class="err">put</span> <span class="err">.*</span>   
+       <span class="err">before</span> <span class="err">and</span> <span class="err">after</span> <span class="err">your</span> <span class="err">term</span> <span class="err">if</span> <span class="err">you&#39;re</span> <span class="err">not</span> <span class="err">matching</span> <span class="err">the</span> <span class="err">whole</span>   
+       <span class="err">element)</span>   
   <span class="err">-?,-help</span>  <span class="err">display</span> <span class="err">this</span> <span class="err">help</span>   
   <span class="err">-b,-begin-row</span> <span class="err">&lt;start-row&gt;</span>  <span class="err">begin</span> <span class="err">row</span> <span class="err">(inclusive)</span>   
   <span class="err">-c,-columns</span> <span class="err">&lt;&lt;columnfamily&gt;[:&lt;columnqualifier&gt;]&gt;</span>  <span class="err">comma-separated</span> <span class="err">columns</span>   
   <span class="err">-e,-end-row</span> <span class="err">&lt;end-row&gt;</span>  <span class="err">end</span> <span class="err">row</span> <span class="err">(inclusive)</span>   
   <span class="err">-f,-show</span> <span class="err">few</span> <span class="err">&lt;int&gt;</span>  <span class="err">Only</span> <span class="err">shows</span> <span class="err">certain</span> <span class="err">amount</span> <span class="err">of</span> <span class="err">characters</span>   
   <span class="err">-np,-no-pagination</span>  <span class="err">disables</span> <span class="err">pagination</span> <span class="err">of</span> <span class="err">output</span>   
+  <span class="err">-nt,-num-threads</span> <span class="err">&lt;arg&gt;</span>  <span class="err">num</span> <span class="err">threads</span>   
   <span class="err">-s,-scan-authorizations</span> <span class="err">&lt;comma-separated-authorizations&gt;</span>  <span class="err">scan</span> <span class="err">authorizations</span>   
        <span class="err">(all</span> <span class="err">user</span> <span class="err">auths</span> <span class="err">are</span> <span class="err">used</span> <span class="err">if</span> <span class="err">this</span> <span class="err">argument</span> <span class="err">is</span> <span class="err">not</span> <span class="err">specified)</span>   
   <span class="err">-st,-show-timestamps</span>  <span class="err">enables</span> <span class="err">displaying</span> <span class="err">timestamps</span>   
-  <span class="err">-t,-num-threads</span> <span class="err">&lt;arg&gt;</span>  <span class="err">num</span> <span class="err">threads</span>
+  <span class="err">-t,-tableName</span> <span class="err">&lt;table&gt;</span>  <span class="err">table</span> <span class="err">to</span> <span class="err">grep</span> <span class="err">through</span>
 </pre></div>
 
 
@@ -477,7 +481,8 @@
 </p>
 <div class="codehilite"><pre><span class="err">usage:</span> <span class="err">grep</span> <span class="err">&lt;term&gt;</span> <span class="err">&lt;term&gt;</span> <span class="err">[-?]</span> <span class="err">[-b</span> <span class="err">&lt;start-row&gt;]</span> <span class="err">[-c</span>   
        <span class="err">&lt;&lt;columnfamily&gt;[:&lt;columnqualifier&gt;]&gt;]</span> <span class="err">[-e</span> <span class="err">&lt;end-row&gt;]</span> <span class="err">[-f</span> <span class="err">&lt;int&gt;]</span>   
-       <span class="err">[-np]</span> <span class="err">[-s</span> <span class="err">&lt;comma-separated-authorizations&gt;]</span> <span class="err">[-st]</span> <span class="err">[-t</span> <span class="err">&lt;arg&gt;]</span>   
+       <span class="err">[-np]</span> <span class="err">[-nt</span> <span class="err">&lt;arg&gt;]</span> <span class="err">[-s</span> <span class="err">&lt;comma-separated-authorizations&gt;]</span> <span class="err">[-st]</span> <span class="err">[-t</span>   
+       <span class="err">&lt;table&gt;]</span>   
 <span class="err">description:</span> <span class="err">searches</span> <span class="err">each</span> <span class="err">row,</span> <span class="err">column</span> <span class="err">family,</span> <span class="err">column</span> <span class="err">qualifier</span> <span class="err">and</span> <span class="err">value</span> <span class="err">in</span> <span class="err">a</span>   
        <span class="err">table</span> <span class="err">for</span> <span class="err">a</span> <span class="err">substring</span> <span class="err">(not</span> <span class="err">a</span> <span class="err">regular</span> <span class="err">expression),</span> <span class="err">in</span> <span class="err">parallel,</span> <span class="err">on</span>   
        <span class="err">the</span> <span class="err">server</span> <span class="err">side</span>   
@@ -487,10 +492,11 @@
   <span class="err">-e,-end-row</span> <span class="err">&lt;end-row&gt;</span>  <span class="err">end</span> <span class="err">row</span> <span class="err">(inclusive)</span>   
   <span class="err">-f,-show</span> <span class="err">few</span> <span class="err">&lt;int&gt;</span>  <span class="err">Only</span> <span class="err">shows</span> <span class="err">certain</span> <span class="err">amount</span> <span class="err">of</span> <span class="err">characters</span>   
   <span class="err">-np,-no-pagination</span>  <span class="err">disables</span> <span class="err">pagination</span> <span class="err">of</span> <span class="err">output</span>   
+  <span class="err">-nt,-num-threads</span> <span class="err">&lt;arg&gt;</span>  <span class="err">num</span> <span class="err">threads</span>   
   <span class="err">-s,-scan-authorizations</span> <span class="err">&lt;comma-separated-authorizations&gt;</span>  <span class="err">scan</span> <span class="err">authorizations</span>   
        <span class="err">(all</span> <span class="err">user</span> <span class="err">auths</span> <span class="err">are</span> <span class="err">used</span> <span class="err">if</span> <span class="err">this</span> <span class="err">argument</span> <span class="err">is</span> <span class="err">not</span> <span class="err">specified)</span>   
   <span class="err">-st,-show-timestamps</span>  <span class="err">enables</span> <span class="err">displaying</span> <span class="err">timestamps</span>   
-  <span class="err">-t,-num-threads</span> <span class="err">&lt;arg&gt;</span>  <span class="err">num</span> <span class="err">threads</span>
+  <span class="err">-t,-tableName</span> <span class="err">&lt;table&gt;</span>  <span class="err">table</span> <span class="err">to</span> <span class="err">grep</span> <span class="err">through</span>
 </pre></div>
 
 
@@ -545,7 +551,7 @@
 </p>
 <div class="codehilite"><pre><span class="err">usage:</span> <span class="err">listscans</span> <span class="err">[-?]</span> <span class="err">[-np]</span> <span class="err">[-ts</span> <span class="err">&lt;tablet</span> <span class="err">server&gt;]</span>   
 <span class="err">description:</span> <span class="err">list</span> <span class="err">what</span> <span class="err">scans</span> <span class="err">are</span> <span class="err">currently</span> <span class="err">running</span> <span class="err">in</span> <span class="err">accumulo.</span> <span class="err">See</span> <span class="err">the</span>   
-       <span class="err">org.apache.accumulo.core.client.admin.ActiveScan</span> <span class="err">javadoc</span> <span class="err">for</span> <span class="err">more</span> <span class="err">information</span>   
+       <span class="err">accumulo.core.client.admin.ActiveScan</span> <span class="err">javadoc</span> <span class="err">for</span> <span class="err">more</span> <span class="err">information</span>   
        <span class="err">about</span> <span class="err">columns.</span>   
   <span class="err">-?,-help</span>  <span class="err">display</span> <span class="err">this</span> <span class="err">help</span>   
   <span class="err">-np,-no-pagination</span>  <span class="err">disables</span> <span class="err">pagination</span> <span class="err">of</span> <span class="err">output</span>   
@@ -727,8 +733,8 @@
 
 <p><strong>setiter</strong> <br />
 </p>
-<div class="codehilite"><pre><span class="err">usage:</span> <span class="err">setiter</span> <span class="err">[-?]</span> <span class="err">-ageoff</span> <span class="err">|</span> <span class="err">-agg</span> <span class="err">|</span> <span class="err">-</span><span class="kd">class</span> <span class="p">&lt;</span><span class="err">name</span><span class="p">&gt;</span> <span class="err">|</span> <span class="err">-nolabel</span> <span class="err">|</span> <span class="err">-regex</span> <span class="err">|</span> <span class="err">-vers</span>   
-       <span class="err">[-majc]</span> <span class="err">[-minc]</span> <span class="err">[-n</span> <span class="err">&lt;itername&gt;]</span>  <span class="err">-p</span> <span class="err">&lt;pri&gt;</span>  <span class="err">[-scan]</span> <span class="err">[-t</span> <span class="err">&lt;table&gt;]</span>   
+<div class="codehilite"><pre><span class="err">usage:</span> <span class="err">setiter</span> <span class="err">[-?]</span> <span class="err">-ageoff</span> <span class="err">|</span> <span class="err">-agg</span> <span class="err">|</span> <span class="err">-</span><span class="kd">class</span> <span class="p">&lt;</span><span class="err">name</span><span class="p">&gt;</span> <span class="err">|</span> <span class="err">-regex</span> <span class="err">|</span> <span class="err">-reqvis</span> <span class="err">|</span> <span class="err">-vers</span>   
+       <span class="err">[-majc]</span> <span class="err">[-minc]</span> <span class="err">[-n</span> <span class="err">&lt;itername&gt;]</span> <span class="err">-p</span> <span class="err">&lt;pri&gt;</span> <span class="err">[-scan]</span> <span class="err">[-t</span> <span class="err">&lt;table&gt;]</span>   
 <span class="err">description:</span> <span class="err">sets</span> <span class="err">a</span> <span class="err">table-specific</span> <span class="err">iterator</span>   
   <span class="err">-?,-help</span>  <span class="err">display</span> <span class="err">this</span> <span class="err">help</span>   
   <span class="err">-ageoff,-ageoff</span>  <span class="err">an</span> <span class="err">aging</span> <span class="err">off</span> <span class="err">type</span>   
@@ -737,9 +743,9 @@
   <span class="err">-majc,-major-compaction</span>  <span class="err">applied</span> <span class="err">at</span> <span class="err">major</span> <span class="err">compaction</span>   
   <span class="err">-minc,-minor-compaction</span>  <span class="err">applied</span> <span class="err">at</span> <span class="err">minor</span> <span class="err">compaction</span>   
   <span class="err">-n,-name</span> <span class="err">&lt;itername&gt;</span> <span class="err">iterator</span> <span class="err">to</span> <span class="err">set</span>   
-  <span class="err">-nolabel,-no-label</span>  <span class="err">a</span> <span class="err">no-labeling</span> <span class="err">type</span>   
   <span class="err">-p,-priority</span> <span class="err">&lt;pri&gt;</span>  <span class="err">the</span> <span class="err">order</span> <span class="err">in</span> <span class="err">which</span> <span class="err">the</span> <span class="err">iterator</span> <span class="err">is</span> <span class="err">applied</span>   
   <span class="err">-regex,-regular-expression</span>  <span class="err">a</span> <span class="err">regex</span> <span class="err">matching</span> <span class="err">type</span>   
+  <span class="err">-reqvis,-require-visibility</span> <span class="err">a</span> <span class="err">type</span> <span class="err">that</span> <span class="err">omits</span> <span class="err">entries</span> <span class="err">with</span> <span class="err">empty</span> <span class="err">visibilities</span>   
   <span class="err">-scan,-scan-time</span>  <span class="err">applied</span> <span class="err">at</span> <span class="err">scan</span> <span class="err">time</span>   
   <span class="err">-t,-table</span> <span class="err">&lt;table&gt;</span>  <span class="err">tableName</span>   
   <span class="err">-vers,-version</span>  <span class="err">a</span> <span class="err">versioning</span> <span class="err">type</span>
@@ -748,17 +754,17 @@
 
 <p><strong>setscaniter</strong> <br />
 </p>
-<div class="codehilite"><pre><span class="err">usage:</span> <span class="err">setscaniter</span> <span class="err">[-?]</span> <span class="err">-ageoff</span> <span class="err">|</span> <span class="err">-agg</span> <span class="err">|</span> <span class="err">-</span><span class="kd">class</span> <span class="p">&lt;</span><span class="err">name</span><span class="p">&gt;</span> <span class="err">|</span> <span class="err">-nolabel</span> <span class="err">|</span> <span class="err">-regex</span> <span class="err">|</span>   
-       <span class="err">-vers</span>  <span class="err">[-n</span> <span class="err">&lt;itername&gt;]</span>  <span class="err">-p</span> <span class="err">&lt;pri&gt;</span> <span class="err">[-t</span> <span class="err">&lt;table&gt;]</span>   
+<div class="codehilite"><pre><span class="err">usage:</span> <span class="err">setscaniter</span> <span class="err">[-?]</span> <span class="err">-ageoff</span> <span class="err">|</span> <span class="err">-agg</span> <span class="err">|</span> <span class="err">-</span><span class="kd">class</span> <span class="p">&lt;</span><span class="err">name</span><span class="p">&gt;</span> <span class="err">|</span> <span class="err">-regex</span> <span class="err">|</span> <span class="err">-reqvis</span> <span class="err">|</span> <span class="err">-vers</span>   
+        <span class="err">[-n</span> <span class="err">&lt;itername&gt;]</span> <span class="err">-p</span> <span class="err">&lt;pri&gt;</span>  <span class="err">[-t</span> <span class="err">&lt;table&gt;]</span>   
 <span class="err">description:</span> <span class="err">sets</span> <span class="err">a</span> <span class="err">table-specific</span> <span class="err">scan</span> <span class="err">iterator</span> <span class="err">for</span> <span class="err">this</span> <span class="err">shell</span> <span class="err">session</span>   
   <span class="err">-?,-help</span>  <span class="err">display</span> <span class="err">this</span> <span class="err">help</span>   
   <span class="err">-ageoff,-ageoff</span>  <span class="err">an</span> <span class="err">aging</span> <span class="err">off</span> <span class="err">type</span>   
   <span class="err">-agg,-aggregator</span>  <span class="err">an</span> <span class="err">aggregating</span> <span class="err">type</span>   
   <span class="err">-class,-class-name</span> <span class="err">&lt;name&gt;</span>  <span class="err">a</span> <span class="err">java</span> <span class="err">class</span> <span class="err">type</span>   
   <span class="err">-n,-name</span> <span class="err">&lt;itername&gt;</span> <span class="err">iterator</span> <span class="err">to</span> <span class="err">set</span>   
-  <span class="err">-nolabel,-no-label</span>  <span class="err">a</span> <span class="err">no-labeling</span> <span class="err">type</span>   
   <span class="err">-p,-priority</span> <span class="err">&lt;pri&gt;</span>  <span class="err">the</span> <span class="err">order</span> <span class="err">in</span> <span class="err">which</span> <span class="err">the</span> <span class="err">iterator</span> <span class="err">is</span> <span class="err">applied</span>   
   <span class="err">-regex,-regular-expression</span>  <span class="err">a</span> <span class="err">regex</span> <span class="err">matching</span> <span class="err">type</span>   
+  <span class="err">-reqvis,-require-visibility</span> <span class="err">a</span> <span class="err">type</span> <span class="err">that</span> <span class="err">omits</span> <span class="err">entries</span> <span class="err">with</span> <span class="err">empty</span> <span class="err">visibilities</span>   
   <span class="err">-t,-table</span> <span class="err">&lt;table&gt;</span>  <span class="err">tableName</span>   
   <span class="err">-vers,-version</span>  <span class="err">a</span> <span class="err">versioning</span> <span class="err">type</span>
 </pre></div>

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Table_Configuration.html
==============================================================================
--- websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Table_Configuration.html (original)
+++ websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/Table_Configuration.html Tue Dec 13 18:30:59 2011
@@ -186,9 +186,9 @@ accumulo/docs/examples/README.bloom . </
 <h2 id="a_iditeratorsa_iterators"><a id=Iterators></a> Iterators</h2>
 <p>Iterators provide a modular mechanism for adding functionality to be executed by TabletServers when scanning or compacting data. This allows users to efficiently summarize, filter, and aggregate data. In fact, the built-in features of cell-level security and column fetching are implemented using Iterators. Some useful Iterators are provided with Accumulo and can be found in the org.apache.accumulo.core.iterators.user package. </p>
 <h3 id="a_idsetting_iterators_via_the_shella_setting_iterators_via_the_shell"><a id=Setting_Iterators_via_the_Shell></a> Setting Iterators via the Shell</h3>
-<div class="codehilite"><pre><span class="err">usage:</span> <span class="err">setiter</span> <span class="err">[-?]</span> <span class="err">-agg</span> <span class="err">|</span> <span class="err">-</span><span class="kd">class</span> <span class="p">&lt;</span><span class="err">name</span><span class="p">&gt;</span> <span class="err">|</span> <span class="err">-filter</span> <span class="err">|</span> <span class="err">-nolabel</span> <span class="err">|</span> 
-<span class="err">-regex</span> <span class="err">|</span> <span class="err">-vers</span> <span class="err">[-majc]</span> <span class="err">[-minc]</span> <span class="err">[-n</span> <span class="err">&lt;itername&gt;]</span> <span class="err">-p</span> <span class="err">&lt;pri&gt;</span> <span class="err">[-scan]</span> 
-<span class="err">[-t</span> <span class="err">&lt;table&gt;]</span>
+<div class="codehilite"><pre><span class="err">usage:</span> <span class="err">setiter</span> <span class="err">[-?]</span> <span class="err">-ageoff</span> <span class="err">|</span> <span class="err">-agg</span> <span class="err">|</span> <span class="err">-</span><span class="kd">class</span> <span class="p">&lt;</span><span class="err">name</span><span class="p">&gt;</span> <span class="err">|</span> <span class="err">-regex</span> <span class="err">|</span> 
+<span class="err">-reqvis</span> <span class="err">|</span> <span class="err">-vers</span>   <span class="err">[-majc]</span> <span class="err">[-minc]</span> <span class="err">[-n</span> <span class="err">&lt;itername&gt;]</span> <span class="err">-p</span> <span class="err">&lt;pri&gt;</span>   
+<span class="err">[-scan]</span> <span class="err">[-t</span> <span class="err">&lt;table&gt;]</span>
 
 <span class="err">user@myinstance</span> <span class="err">mytable&gt;</span> <span class="err">setiter</span> <span class="err">-t</span> <span class="err">mytable</span> <span class="err">-scan</span> <span class="err">-p</span> <span class="err">10</span> <span class="err">-n</span> <span class="err">myiter</span>
 </pre></div>
@@ -277,9 +277,9 @@ org.apache.accumulo.core.iterators.Filte
 </pre></div>
 
 
-<h3 id="a_idaggregating_iteratorsa_aggregating_iterators"><a id=Aggregating_Iterators></a> Aggregating Iterators</h3>
-<p>Accumulo allows aggregating iterators to be configured on tables and column families. When an aggregating iterator is set, the iterator is applied across the values associated with any keys that share rowID, column family, and column qualifier. This is similar to the reduce step in MapReduce, which applied some function to all the values associated with a particular key. </p>
-<p>For example, if an aggregating iterator were configured on a table and the following mutations were inserted: </p>
+<h3 id="a_idcombinersa_combiners"><a id=Combiners></a> Combiners</h3>
+<p>Accumulo allows Combiners to be configured on tables and column families. When a Combiner is set it is applied across the values associated with any keys that share rowID, column family, and column qualifier. This is similar to the reduce step in MapReduce, which applied some function to all the values associated with a particular key. </p>
+<p>For example, if a summing combiner were configured on a table and the following mutations were inserted: </p>
 <div class="codehilite"><pre><span class="n">Row</span>     <span class="n">Family</span> <span class="n">Qualifier</span> <span class="n">Timestamp</span>  <span class="n">Value</span>
 <span class="n">rowID1</span>  <span class="n">colfA</span>  <span class="n">colqA</span>     <span class="mi">20100101</span>   <span class="mi">1</span>
 <span class="n">rowID1</span>  <span class="n">colfA</span>  <span class="n">colqA</span>     <span class="mi">20100102</span>   <span class="mi">1</span>
@@ -291,34 +291,34 @@ org.apache.accumulo.core.iterators.Filte
 </pre></div>
 
 
-<p>Aggregating iterators can be enabled for a table as follows: </p>
-<div class="codehilite"><pre><span class="n">user</span><span class="nv">@myinstance</span><span class="o">&gt;</span> <span class="n">createtable</span> <span class="n">perDayCounts</span> <span class="o">-</span><span class="n">a</span>
-<span class="n">day</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">accumulo</span><span class="o">.</span><span class="n">core</span><span class="o">.</span><span class="n">iterators</span><span class="o">.</span><span class="n">aggregation</span><span class="o">.</span><span class="n">StringSummation</span>
-
-<span class="n">user</span><span class="nv">@myinstance</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">row1</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
-<span class="n">user</span><span class="nv">@myinstance</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">row1</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
-<span class="n">user</span><span class="nv">@myinstance</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">row1</span> <span class="n">day</span> <span class="mi">20080103</span> <span class="mi">1</span>
-<span class="n">user</span><span class="nv">@myinstance</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">row2</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
-<span class="n">user</span><span class="nv">@myinstance</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">row3</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
-
-<span class="n">user</span><span class="nv">@myinstance</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">scan</span>
-<span class="n">row1</span> <span class="n">day:20080101</span> <span class="o">[]</span> <span class="mi">2</span>
-<span class="n">row1</span> <span class="n">day:20080103</span> <span class="o">[]</span> <span class="mi">1</span>
-<span class="n">row2</span> <span class="n">day:20080101</span> <span class="o">[]</span> <span class="mi">2</span>
+<p>Combiners can be enabled for a table using the setiter command in the shell. Below is an example. </p>
+<div class="codehilite"><pre><span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">setiter</span> <span class="o">-</span><span class="n">t</span> <span class="n">perDayCounts</span> <span class="o">-</span><span class="n">p</span> <span class="mi">10</span> <span class="o">-</span><span class="n">scan</span> <span class="o">-</span><span class="n">minc</span> <span class="o">-</span><span class="n">majc</span> <span class="o">-</span><span class="n">n</span> <span class="n">daycount</span> 
+                       <span class="o">-</span><span class="n">class</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">accumulo</span><span class="o">.</span><span class="n">core</span><span class="o">.</span><span class="n">iterators</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">SummingCombiner</span>
+<span class="n">TypedValueCombiner</span> <span class="n">can</span> <span class="n">interpret</span> <span class="n">Values</span> <span class="n">as</span> <span class="n">a</span> <span class="n">variety</span> <span class="n">of</span> <span class="n">number</span> <span class="n">encodings</span> 
+  <span class="p">(</span><span class="n">VLong</span><span class="p">,</span> <span class="n">Long</span><span class="p">,</span> <span class="ow">or</span> <span class="n">String</span><span class="p">)</span> <span class="n">before</span> <span class="n">combining</span>
+<span class="o">----------&gt;</span> <span class="n">set</span> <span class="n">SummingCombiner</span> <span class="n">parameter</span> <span class="n">columns</span><span class="p">,</span> 
+            <span class="o">&lt;</span><span class="n">col</span> <span class="n">fam</span><span class="o">&gt;</span><span class="p">[:</span><span class="o">&lt;</span><span class="n">col</span> <span class="n">qual</span><span class="o">&gt;</span><span class="p">]{,</span><span class="o">&lt;</span><span class="n">col</span> <span class="n">fam</span><span class="o">&gt;</span><span class="p">[:</span><span class="o">&lt;</span><span class="n">col</span> <span class="n">qual</span><span class="o">&gt;</span><span class="p">]}</span> <span class="p">:</span> <span class="n">day</span>
+<span class="o">----------&gt;</span> <span class="n">set</span> <span class="n">SummingCombiner</span> <span class="n">parameter</span> <span class="n">type</span><span class="p">,</span> <span class="sr">&lt;VARNUM|LONG|STRING&gt;</span><span class="p">:</span> <span class="n">STRING</span>
+
+<span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">foo</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
+<span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">foo</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
+<span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">foo</span> <span class="n">day</span> <span class="mi">20080103</span> <span class="mi">1</span>
+<span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">bar</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
+<span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">insert</span> <span class="n">bar</span> <span class="n">day</span> <span class="mi">20080101</span> <span class="mi">1</span>
+
+<span class="n">root</span><span class="nv">@a14</span> <span class="n">perDayCounts</span><span class="o">&gt;</span> <span class="n">scan</span>
+<span class="n">bar</span> <span class="n">day:20080101</span> <span class="o">[]</span>    <span class="mi">2</span>
+<span class="n">foo</span> <span class="n">day:20080101</span> <span class="o">[]</span>    <span class="mi">2</span>
+<span class="n">foo</span> <span class="n">day:20080103</span> <span class="o">[]</span>    <span class="mi">1</span>
 </pre></div>
 
 
-<p>Accumulo includes the following aggregators: </p>
-<ul>
-<li><strong>LongSummation</strong>: expects values of type long and adds them. </li>
-<li><strong>StringSummation</strong>: expects numbers represented as strings and adds them. </li>
-<li><strong>StringMax</strong>: expects numbers as strings and retains the maximum number inserted. </li>
-<li><strong>StringMin</strong>: expects numbers as strings and retains the minimum number inserted. </li>
-</ul>
-<p>Additional Aggregators can be added by creating a Java class that implements <br />
-<strong>org.apache.accumulo.core.iterators.aggregation.Aggregator</strong> and adding a jar containing that class to Accumulo's lib directory. </p>
-<p>An example of an aggregator can be found under <br />
-accumulo/src/examples/main/java/org/apache/accumulo/examples/aggregation/SortedSetAggregator.java </p>
+<p>Accumulo includes some useful Combiners out of the box. To find these look in the <br />
+<strong>org.apache.accumulo.core.iterators.user</strong> package. </p>
+<p>Additional Combiners can be added by creating a Java class that extends <br />
+<strong>org.apache.accumulo.core.iterators.Combiner</strong> and adding a jar containing that class to Accumulo's lib/ext directory. </p>
+<p>An example of a Combiner can be found under <br />
+accumulo/src/examples/main/java/org/apache/accumulo/examples/combiner/StatsCombiner.java </p>
 <h2 id="a_idblock_cachea_block_cache"><a id=Block_Cache></a> Block Cache</h2>
 <p>In order to increase throughput of commonly accessed entries, Accumulo employs a block cache. This block cache buffers data in memory so that it doesn't have to be read off of disk. The RFile format that Accumulo prefers is a mix of index blocks and data blocks, where the index blocks are used to find the appropriate data blocks. Typical queries to Accumulo result in a binary search over several index blocks followed by a linear scan of one or more data blocks. </p>
 <p>The block cache can be configured on a per-table basis, and all tablets hosted on a tablet server share a single resource pool. To configure the size of the tablet server's block cache, set the following properties: </p>
@@ -359,7 +359,7 @@ accumulo/src/examples/main/java/org/apac
 </pre></div>
 
 
-<p>When a tablet reaches this number of files and needs to flush its in-memory data to disk, it will choose to do a merging minor compaction. A merging minor compaction will merge the tablet's smallest file with the data in memory at minor compaction time. Therefore the number of files will not grow beyond this limit. This will make minor compactions take longer, which will cause ingest performance to decrease. This can cause ingest to slow down until major compactions have enough time to catch up. When adjusting this property, also consider adjusting the compaction ratio. Ideally, merging minor compactions never need to occur and major compactions will keep up. It is possible to configure the file max and compaction ratio such that only merging minor compactions occur and major compactions never occur. This should be avoided because doing only merging minor compactions causes <img alt="$O(N^2)$" src="img2.png" /> work to be done. The amount of work done by major compactions
  is  <img alt="$O(N*klzzwxh:0051og_R(N))$" src="img3.png" /> where <em>R</em> is the compaction ratio. </p>
+<p>When a tablet reaches this number of files and needs to flush its in-memory data to disk, it will choose to do a merging minor compaction. A merging minor compaction will merge the tablet's smallest file with the data in memory at minor compaction time. Therefore the number of files will not grow beyond this limit. This will make minor compactions take longer, which will cause ingest performance to decrease. This can cause ingest to slow down until major compactions have enough time to catch up. When adjusting this property, also consider adjusting the compaction ratio. Ideally, merging minor compactions never need to occur and major compactions will keep up. It is possible to configure the file max and compaction ratio such that only merging minor compactions occur and major compactions never occur. This should be avoided because doing only merging minor compactions causes <img alt="$O(N^2)$" src="img2.png" /> work to be done. The amount of work done by major compactions
  is  <img alt="$O(N*klzzwxh:0053og_R(N))$" src="img3.png" /> where <em>R</em> is the compaction ratio. </p>
 <p>Compactions can be initiated manually for a table. To initiate a minor compaction, use the flush command in the shell. To initiate a major compaction, use the compact command in the shell. The compact command will compact all tablets in a table to one file. Even tablets with one file are compacted. This is useful for the case where a major compaction filter is configured for a table. In 1.4 the ability to compact a range of a table was added. To use this feature specify start and stop rows for the compact command. This will only compact tablets that overlap the given row range. </p>
 <h2 id="a_idpre-splitting_tablesa_pre-splitting_tables"><a id=Pre-splitting_tables></a> Pre-splitting tables</h2>
 <p>Accumulo will balance and distribute tables accross servers. Before a table gets large, it will be maintained as a single tablet on a single server. This limits the speed at which data can be added or queried to the speed of a single node. To improve performance when the a table is new, or small, you can add split points and generate new tablets. </p>

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img1.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img4.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img5.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img6.png
==============================================================================
Binary files - no diff available.

Modified: websites/staging/accumulo/trunk/content/accumulo/user_manual_1.4-incubating/img7.png
==============================================================================
Binary files - no diff available.