This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/asf-staging by this push: new 44f239a Automatic Site Publish by Buildbot 44f239a is described below commit 44f239a0042fa576ce5647f085f6fa07d715fc1e Author: buildbot <us...@infra.apache.org> AuthorDate: Thu Jan 21 00:58:34 2021 +0000 Automatic Site Publish by Buildbot --- output/feed.xml | 4 ++-- output/tour/authorizations-code/index.html | 10 +++++----- output/tour/authorizations/index.html | 9 ++++----- output/tour/basic-read-write/index.html | 4 ++-- output/tour/batch-scanner-code/index.html | 28 ++++++++++++++-------------- output/tour/batch-scanner/index.html | 2 +- output/tour/client/index.html | 2 +- output/tour/conditional-writer/index.html | 2 +- output/tour/data-model/index.html | 2 +- output/tour/getting-started/index.html | 2 +- output/tour/ranges-splits/index.html | 8 ++++---- 11 files changed, 36 insertions(+), 37 deletions(-) diff --git a/output/feed.xml b/output/feed.xml index 713a64c..560a9dc 100644 --- a/output/feed.xml +++ b/output/feed.xml @@ -6,8 +6,8 @@ </description> <link>https://accumulo.apache.org/</link> <atom:link href="https://accumulo.apache.org/feed.xml" rel="self" type="application/rss+xml"/> - <pubDate>Thu, 21 Jan 2021 00:42:23 +0000</pubDate> - <lastBuildDate>Thu, 21 Jan 2021 00:42:23 +0000</lastBuildDate> + <pubDate>Thu, 21 Jan 2021 00:58:28 +0000</pubDate> + <lastBuildDate>Thu, 21 Jan 2021 00:58:28 +0000</lastBuildDate> <generator>Jekyll v4.1.1</generator> diff --git a/output/tour/authorizations-code/index.html b/output/tour/authorizations-code/index.html index fe0b50b..c3d3ff3 100644 --- a/output/tour/authorizations-code/index.html +++ b/output/tour/authorizations-code/index.html @@ -154,7 +154,7 @@ <span class="c1">// Create a table called "GothamPD".</span> <span class="n">client</span><span class="o">.</span><span class="na">tableOperations</span><span class="o">().</span><span class="na">create</span><span class="o">(</span><span class="s">"GothamPD"</span><span class="o">);</span> - <span class="c1">// Create a "secretId" authorization & visibility</span> + <span class="c1">// Create a "secretId" authorization & visibility</span> <span class="kd">final</span> <span class="nc">String</span> <span class="n">secretId</span> <span class="o">=</span> <span class="s">"secretId"</span><span class="o">;</span> <span class="nc">Authorizations</span> <span class="n">auths</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Authorizations</span><span class="o">(</span><span class="n">secretId</span><span class="o">);</span> <span class="nc">ColumnVisibility</span> <span class="n">colVis</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ColumnVisibility</span><span class="o">(</span><span class="n">secretId</span><span class="o">);</span> @@ -188,14 +188,14 @@ <span class="n">writer</span><span class="o">.</span><span class="na">addMutation</span><span class="o">(</span><span class="n">mutation3</span><span class="o">);</span> <span class="o">}</span> - <span class="c1">// Create a second client for the commissioner user and output all the rows visible to them. </span> + <span class="c1">// Create a second client for the commissioner user and output all the rows visible to them.</span> <span class="c1">// Make sure to pass the proper authorizations.</span> <span class="k">try</span> <span class="o">(</span><span class="nc">AccumuloClient</span> <span class="n">commishClient</span> <span class="o">=</span> <span class="nc">Accumulo</span><span class="o">.</span><span class="na">newClient</span><span class="o">().</span><span class="na">from</span><span class="o">(</span><span class="n">client</span><span class="o">.</span><span class="na">properties</span><span class="o">()).</span><span class="na">as</span><span class="o">(</span><span [...] <span class="nc">Scanner</span> <span class="n">scan</span> <span class="o">=</span> <span class="n">commishClient</span><span class="o">.</span><span class="na">createScanner</span><span class="o">(</span><span class="s">"GothamPD"</span><span class="o">,</span> <span class="n">auths</span><span class="o">);</span> <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Gotham Police Department Persons of Interest:"</span><span class="o">);</span> - <span class="k">for</span> <span class="o">(</span><span class="nc">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o"><</span><span class="nc">Key</span><span class="o">,</span> <span class="nc">Value</span><span class="o">></span> <span class="n">entry</span> <span class="o">:</span> <span class="n">scan</span><span class="o">)</span> <span class="o">{</span> - <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"Key : %-50s Value : %s\n"</span><span class="o">,</span> <span class="n">entry</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span> - <span class="o">}</span> + <span class="k">for</span> <span class="o">(</span><span class="nc">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o"><</span><span class="nc">Key</span><span class="o">,</span> <span class="nc">Value</span><span class="o">></span> <span class="n">entry</span> <span class="o">:</span> <span class="n">scan</span><span class="o">)</span> <span class="o">{</span> + <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"Key : %-50s Value : %s\n"</span><span class="o">,</span> <span class="n">entry</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span> + <span class="o">}</span> <span class="o">}</span> <span class="o">}</span> </code></pre></div></div> diff --git a/output/tour/authorizations/index.html b/output/tour/authorizations/index.html index 8661439..10772e5 100644 --- a/output/tour/authorizations/index.html +++ b/output/tour/authorizations/index.html @@ -181,17 +181,16 @@ visible to the user.</p> 2. The [Mutation] API allows you to set the `secretId` visibility on a column. Find the proper method for setting a column visibility in the Mutation API and modify the code so the `colVis` variable created above secures the "name" columns. -3. Build and run. What data do you see? -* You should see all of the data except the secret identities of Batman and Robin. This is because the `Scanner` was created from the root user which doesn't have the `secretId` authorization. -* Replace the `Authorizations.EMPTY` in the Scanner with the `auths` variable created above and run it again. +3. Build and run. What data do you see? +* You should see all of the data except the secret identities of Batman and Robin. This is because the `Scanner` was created from the root user which doesn't have the `secretId` authorization. +* Replace the `Authorizations.EMPTY` in the Scanner with the `auths` variable created above and run it again. * This should result in an error since the root user doesn't have the authorizations we tried to pass to the Scanner. 4. Use the following to create a client for the "commissioner" using the [Accumulo] entry point. ```java try (AccumuloClient commishClient = Accumulo.newClient().from(client.properties()).as("commissioner", "gordonrocks").build()) { // Insert your code here - - }; + } </code></pre></div></div> <ol> diff --git a/output/tour/basic-read-write/index.html b/output/tour/basic-read-write/index.html index 23706fc..805a18e 100644 --- a/output/tour/basic-read-write/index.html +++ b/output/tour/basic-read-write/index.html @@ -184,13 +184,13 @@ write and read from a table.</p> <p>Good job! That is all it takes to write and read from Accumulo.</p> -<p>Notice a lot of other information was printed from the Keys we created. Accumulo is flexible because hidden within its +<p>Notice a lot of other information was printed from the Keys we created. Accumulo is flexible because hidden within its <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/data/Key.html">Key</a> is a rich data model that can be broken up into different parts. We will cover the <a href="/tour/data-model">Data Model</a> in the next lesson.</p> <h3 id="but-wait-i-thought-accumulo-was-all-about-security">But wait… I thought Accumulo was all about Security?</h3> <p>Spoiler Alert: It is! Did you notice the <code class="language-plaintext highlighter-rouge">Authorizations.EMPTY</code> we passed in when creating a <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/Scanner.html">Scanner</a>? The data -we created in this first lesson was not secured with Authorizations so the Scanner didn’t require any Authorizations +we created in this first lesson was not secured with Authorizations so the Scanner didn’t require any Authorizations to read it. More to come later in the <a href="/tour/authorizations">Authorizations</a> lesson!</p> diff --git a/output/tour/batch-scanner-code/index.html b/output/tour/batch-scanner-code/index.html index 4d2357d..244cceb 100644 --- a/output/tour/batch-scanner-code/index.html +++ b/output/tour/batch-scanner-code/index.html @@ -168,20 +168,20 @@ <span class="k">try</span> <span class="o">(</span><span class="nc">BatchScanner</span> <span class="n">batchScanner</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="na">createBatchScanner</span><span class="o">(</span><span class="s">"GothamPD"</span><span class="o">,</span> <span class="nc">Authorizations</span><span class="o">.</span><span class="na">EMPTY</span><span class="o">,</span> <span class="mi">5</span><span class="o">))</s [...] <span class="c1">// 2. Create a collection of 2 sample ranges and set it to the batchScanner</span> - <span class="nc">List</span><span class="o"><</span><span class="nc">Range</span><span class="o">></span><span class="n">ranges</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ArrayList</span><span class="o"><</span><span class="nc">Range</span><span class="o">>();</span> - <span class="n">ranges</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">Range</span><span class="o">(</span><span class="s">"id1000"</span><span class="o">,</span> <span class="s">"id1999"</span><span class="o">));</span> - <span class="n">ranges</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">Range</span><span class="o">(</span><span class="s">"id9000"</span><span class="o">,</span> <span class="s">"id9999"</span><span class="o">));</span> - <span class="n">batchScanner</span><span class="o">.</span><span class="na">setRanges</span><span class="o">(</span><span class="n">ranges</span><span class="o">);</span> - - <span class="c1">// 3. Fetch just the columns we want</span> - <span class="n">batchScanner</span><span class="o">.</span><span class="na">fetchColumn</span><span class="o">(</span><span class="k">new</span> <span class="nc">Text</span><span class="o">(</span><span class="s">"villain"</span><span class="o">),</span> <span class="k">new</span> <span class="nc">Text</span><span class="o">(</span><span class="s">"yearsOfService"</span><span class="o">));</span> - - <span class="c1">// 4. Calculate average years of service</span> - <span class="nc">Long</span> <span class="n">totalYears</span> <span class="o">=</span> <span class="mi">0L</span><span class="o">;</span> - <span class="nc">Long</span> <span class="n">entriesRead</span> <span class="o">=</span> <span class="mi">0L</span><span class="o">;</span> - <span class="k">for</span> <span class="o">(</span><span class="nc">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o"><</span><span class="nc">Key</span><span class="o">,</span> <span class="nc">Value</span><span class="o">></span> <span class="n">entry</span> <span class="o">:</span> <span class="n">batchScanner</span><span class="o">)</span> <span class="o">{</span> - <span class="n">totalYears</span> <span class="o">+=</span> <span class="nc">Long</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">toString</span><span class="o">());</span> - <span class="n">entriesRead</span><span class="o">++;</span> + <span class="nc">List</span><span class="o"><</span><span class="nc">Range</span><span class="o">></span><span class="n">ranges</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ArrayList</span><span class="o"><</span><span class="nc">Range</span><span class="o">>();</span> + <span class="n">ranges</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">Range</span><span class="o">(</span><span class="s">"id1000"</span><span class="o">,</span> <span class="s">"id1999"</span><span class="o">));</span> + <span class="n">ranges</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">Range</span><span class="o">(</span><span class="s">"id9000"</span><span class="o">,</span> <span class="s">"id9999"</span><span class="o">));</span> + <span class="n">batchScanner</span><span class="o">.</span><span class="na">setRanges</span><span class="o">(</span><span class="n">ranges</span><span class="o">);</span> + + <span class="c1">// 3. Fetch just the columns we want</span> + <span class="n">batchScanner</span><span class="o">.</span><span class="na">fetchColumn</span><span class="o">(</span><span class="k">new</span> <span class="nc">Text</span><span class="o">(</span><span class="s">"villain"</span><span class="o">),</span> <span class="k">new</span> <span class="nc">Text</span><span class="o">(</span><span class="s">"yearsOfService"</span><span class="o">));</span> + + <span class="c1">// 4. Calculate average years of service</span> + <span class="nc">Long</span> <span class="n">totalYears</span> <span class="o">=</span> <span class="mi">0L</span><span class="o">;</span> + <span class="nc">Long</span> <span class="n">entriesRead</span> <span class="o">=</span> <span class="mi">0L</span><span class="o">;</span> + <span class="k">for</span> <span class="o">(</span><span class="nc">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o"><</span><span class="nc">Key</span><span class="o">,</span> <span class="nc">Value</span><span class="o">></span> <span class="n">entry</span> <span class="o">:</span> <span class="n">batchScanner</span><span class="o">)</span> <span class="o">{</span> + <span class="n">totalYears</span> <span class="o">+=</span> <span class="nc">Long</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">entry</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">toString</span><span class="o">());</span> + <span class="n">entriesRead</span><span class="o">++;</span> <span class="o">}</span> <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"The average years of service of "</span> <span class="o">+</span> <span class="n">entriesRead</span> <span class="o">+</span> <span class="s">" villains is "</span> <span class="o">+</span> <span class="n">totalYears</span> <span class="o">/</span> <span class="n">entriesRead</span><span class="o">);</span> <span class="o">}</span> diff --git a/output/tour/batch-scanner/index.html b/output/tour/batch-scanner/index.html index e81aafe..3bbf180 100644 --- a/output/tour/batch-scanner/index.html +++ b/output/tour/batch-scanner/index.html @@ -148,7 +148,7 @@ <p class="text-muted">Tour page 9 of 12</p> </div> <div id="tour-content"> - <p>Running on a single thread, a <code class="language-plaintext highlighter-rouge">Scanner</code> will retrieve a single <code class="language-plaintext highlighter-rouge">Range</code> of data and return <code class="language-plaintext highlighter-rouge">Key</code>s in sorted order. A <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/BatchScanner.html">BatchScanner</a> + <p>Running on a single thread, a <code class="language-plaintext highlighter-rouge">Scanner</code> will retrieve a single <code class="language-plaintext highlighter-rouge">Range</code> of data and return <code class="language-plaintext highlighter-rouge">Key</code>s in sorted order. A <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/BatchScanner.html">BatchScanner</a> will retrieve multiple <code class="language-plaintext highlighter-rouge">Range</code>s of data using multiple threads. A <code class="language-plaintext highlighter-rouge">BatchScanner</code> can be more efficient but does not guarantee <code class="language-plaintext highlighter-rouge">Key</code>s will be returned in sorted order.</p> <p>For this exercise, we need to generate a bunch of data to test BatchScanner. Copy the code below into your <em>exercise</em> method.</p> diff --git a/output/tour/client/index.html b/output/tour/client/index.html index 4ade403..5f0ea04 100644 --- a/output/tour/client/index.html +++ b/output/tour/client/index.html @@ -163,7 +163,7 @@ Notice the client can be wrapped in a Java try-with-resources since it is AutoCl <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">exercise</span><span class="o">(</span><span class="nc">AccumuloClient</span> <span class="n">client</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span> <span class="k">for</span> <span class="o">(</span><span class="nc">String</span> <span class="n">t</span> <span class="o">:</span> <span class="n">client</span><span class="o">.</span><span class="na">tableOperations</span><span class="o">().</span><span class="na">list</span><span class="o">())</span> <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Table: "</span> <span class="o">+</span> <span class="n">t</span><span class="o">);</span> - + <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Instance ID: "</span> <span class="o">+</span> <span class="n">client</span><span class="o">.</span><span class="na">instanceOperations</span><span class="o">().</span><span class="na">getInstanceID</span><span class="o">());</span> <span class="o">}</span> </code></pre></div></div> diff --git a/output/tour/conditional-writer/index.html b/output/tour/conditional-writer/index.html index cbe54eb..bf30f46 100644 --- a/output/tour/conditional-writer/index.html +++ b/output/tour/conditional-writer/index.html @@ -186,7 +186,7 @@ is the batch writer always makes the update, even when the value has changed since it was read.</p> <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">static</span> <span class="nc">String</span> <span class="nf">getAddress</span><span class="o">(</span><span class="nc">AccumuloClient</span> <span class="n">client</span><span class="o">,</span> <span class="nc">String</span> <span class="n">id</span><span class="o">)</span> <span class="o">{</span> - <span class="c1">// The IsolatedScanner ensures partial changes to a row are not seen</span> + <span class="c1">// The IsolatedScanner ensures partial changes to a row are not seen</span> <span class="k">try</span> <span class="o">(</span><span class="nc">Scanner</span> <span class="n">scanner</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">IsolatedScanner</span><span class="o">(</span><span class="n">client</span><span class="o">.</span><span class="na">createScanner</span><span class="o">(</span><span class="s">"GothamPD"</span><span class="o">,</span> <span class="nc">Authorizations</span><span class="o">.</span><span class="na">EMPTY</s [...] <span class="n">scanner</span><span class="o">.</span><span class="na">setRange</span><span class="o">(</span><span class="nc">Range</span><span class="o">.</span><span class="na">exact</span><span class="o">(</span><span class="n">id</span><span class="o">,</span> <span class="s">"location"</span><span class="o">,</span> <span class="s">"home"</span><span class="o">));</span> <span class="k">for</span> <span class="o">(</span><span class="nc">Entry</span><span class="o"><</span><span class="nc">Key</span><span class="o">,</span><span class="nc">Value</span><span class="o">></span> <span class="n">entry</span> <span class="o">:</span> <span class="n">scanner</span><span class="o">)</span> <span class="o">{</span> diff --git a/output/tour/data-model/index.html b/output/tour/data-model/index.html index be3ec2a..2432556 100644 --- a/output/tour/data-model/index.html +++ b/output/tour/data-model/index.html @@ -148,7 +148,7 @@ <p class="text-muted">Tour page 4 of 12</p> </div> <div id="tour-content"> - <p>Data is stored in Accumulo in a distributed sorted map. The <code class="language-plaintext highlighter-rouge">Key</code>s of the map are broken up logically into a few different parts, + <p>Data is stored in Accumulo in a distributed sorted map. The <code class="language-plaintext highlighter-rouge">Key</code>s of the map are broken up logically into a few different parts, as seen in the image below.</p> <p><img src="/images/docs/key_value.png" alt="key value pair" /></p> diff --git a/output/tour/getting-started/index.html b/output/tour/getting-started/index.html index dcd9574..84b8d4d 100644 --- a/output/tour/getting-started/index.html +++ b/output/tour/getting-started/index.html @@ -166,7 +166,7 @@ great here on the tour. Files and logs used by <a href="https://static.javadoc. <li>Modify the <em>exercise</em> method to print a hello message. You will put your code in this method for each lesson. <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">exercise</span><span class="o">(</span><span class="nc">AccumuloClient</span> <span class="n">client</span><span class="o">)</span> <span class="o">{</span> <span class="c1">// Write your code here</span> - <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Hello world"</span><span class="o">);</span> + <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"Hello world"</span><span class="o">);</span> <span class="o">}</span> </code></pre></div> </div> </li> diff --git a/output/tour/ranges-splits/index.html b/output/tour/ranges-splits/index.html index 1c42197..636778a 100644 --- a/output/tour/ranges-splits/index.html +++ b/output/tour/ranges-splits/index.html @@ -160,9 +160,9 @@ <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">scanner</span><span class="o">.</span><span class="na">setRange</span><span class="o">(</span><span class="k">new</span> <span class="nc">Range</span><span class="o">(</span><span class="s">"id0000"</span><span class="o">,</span> <span class="s">"id0010"</span><span class="o">));</span> <span class="c1">// returns rows from id0000 to id0010</span> </code></pre></div></div> -<p>As your data grows larger, Accumulo will split tables into smaller pieces called <code class="language-plaintext highlighter-rouge">Tablet</code>s which can be distributed across multiple Tablet Servers.<br /> -By default, a table will get split into <code class="language-plaintext highlighter-rouge">Tablet</code>s on row boundaries, guaranteeing an entire row to be on one Tablet Server. We have the ability to -tell Accumulo where to split tables by setting split points. This is done using <code class="language-plaintext highlighter-rouge">addSplits</code> in the <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/admin/TableOperations.html">TableOperations</a> API. The image below +<p>As your data grows larger, Accumulo will split tables into smaller pieces called <code class="language-plaintext highlighter-rouge">Tablet</code>s which can be distributed across multiple Tablet Servers. +By default, a table will get split into <code class="language-plaintext highlighter-rouge">Tablet</code>s on row boundaries, guaranteeing an entire row to be on one Tablet Server. We have the ability to +tell Accumulo where to split tables by setting split points. This is done using <code class="language-plaintext highlighter-rouge">addSplits</code> in the <a href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/admin/TableOperations.html">TableOperations</a> API. The image below demonstrates how Accumulo splits data.</p> <p><img src="/images/docs/data_distribution.png" alt="data distribution" /></p> @@ -178,7 +178,7 @@ demonstrates how Accumulo splits data.</p> <p>Knowing these terms are critical when working closely with Accumulo. Iterators are especially unique and powerful. More on them later.</p> -<p>When working with large amounts of data across many ‘Tablet Server’s, a simple Scanner might not do the trick. Next lesson we learn about the power of +<p>When working with large amounts of data across many ‘Tablet Server’s, a simple Scanner might not do the trick. Next lesson we learn about the power of the multi-threaded <code class="language-plaintext highlighter-rouge">BatchScanner</code>!</p>