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 99cf7f9 Automatic Site Publish by Buildbot
99cf7f9 is described below
commit 99cf7f9fd3671c5b245aff57fac9006909967ccb
Author: buildbot <[email protected]>
AuthorDate: Thu Jan 21 00:42:30 2021 +0000
Automatic Site Publish by Buildbot
---
output/feed.xml | 4 +-
output/tour/authorizations-code/index.html | 38 ++++++++--------
output/tour/authorizations/index.html | 62 +++++++++++++------------
output/tour/basic-read-write/index.html | 24 +++++-----
output/tour/batch-scanner-code/index.html | 63 +++++++++++++-------------
output/tour/batch-scanner/index.html | 31 +++++++------
output/tour/client/index.html | 6 +--
output/tour/conditional-writer-code/index.html | 3 +-
output/tour/conditional-writer/index.html | 24 +++++-----
output/tour/data-model-code/index.html | 25 +++++-----
output/tour/data-model/index.html | 2 +-
output/tour/getting-started/index.html | 8 ++--
output/tour/ranges-splits/index.html | 12 ++---
13 files changed, 151 insertions(+), 151 deletions(-)
diff --git a/output/feed.xml b/output/feed.xml
index b234af1..713a64c 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>Tue, 19 Jan 2021 19:36:44 +0000</pubDate>
- <lastBuildDate>Tue, 19 Jan 2021 19:36:44 +0000</lastBuildDate>
+ <pubDate>Thu, 21 Jan 2021 00:42:23 +0000</pubDate>
+ <lastBuildDate>Thu, 21 Jan 2021 00:42:23 +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 e20d777..fe0b50b 100644
--- a/output/tour/authorizations-code/index.html
+++ b/output/tour/authorizations-code/index.html
@@ -150,29 +150,31 @@
<div id="tour-content">
<p>Below is a solution for the exercise.</p>
-<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="c1">// create a table called "GothamPD".</span>
+<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="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>
- <span class="c1">// Create a user with the "secretId" authorization and
grant him read permissions on our table</span>
+ <span class="c1">// Create a user with the "secretId" authorization and
grant the commissioner read permissions on our table</span>
<span class="n">client</span><span class="o">.</span><span
class="na">securityOperations</span><span class="o">().</span><span
class="na">createLocalUser</span><span class="o">(</span><span
class="s">"commissioner"</span><span class="o">,</span> <span
class="k">new</span> <span class="nc">PasswordToken</span><span
class="o">(</span><span class="s">"gordonrocks"</span><span class="o">));</span>
<span class="n">client</span><span class="o">.</span><span
class="na">securityOperations</span><span class="o">().</span><span
class="na">changeUserAuthorizations</span><span class="o">(</span><span
class="s">"commissioner"</span><span class="o">,</span> <span
class="n">auths</span><span class="o">);</span>
<span class="n">client</span><span class="o">.</span><span
class="na">securityOperations</span><span class="o">().</span><span
class="na">grantTablePermission</span><span class="o">(</span><span
class="s">"commissioner"</span><span class="o">,</span> <span
class="s">"GothamPD"</span><span class="o">,</span> <span
class="nc">TablePermission</span><span class="o">.</span><span
class="na">READ</span><span class="o">);</span>
- <span class="c1">// Create 3 Mutation objects, securing the proper
columns.</span>
+ <span class="c1">// Create three Mutation objects, securing the proper
columns.</span>
<span class="nc">Mutation</span> <span class="n">mutation1</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="s">"id0001"</span><span class="o">);</span>
<span class="n">mutation1</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span class="s">"hero"</span><span
class="o">,</span> <span class="s">"alias"</span><span class="o">,</span> <span
class="s">"Batman"</span><span class="o">);</span>
<span class="n">mutation1</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span class="s">"hero"</span><span
class="o">,</span> <span class="s">"name"</span><span class="o">,</span> <span
class="n">colVis</span><span class="o">,</span> <span class="s">"Bruce
Wayne"</span><span class="o">);</span>
<span class="n">mutation1</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span class="s">"hero"</span><span
class="o">,</span> <span class="s">"wearsCape?"</span><span class="o">,</span>
<span class="s">"true"</span><span class="o">);</span>
+
<span class="nc">Mutation</span> <span class="n">mutation2</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="s">"id0002"</span><span class="o">);</span>
<span class="n">mutation2</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span class="s">"hero"</span><span
class="o">,</span> <span class="s">"alias"</span><span class="o">,</span> <span
class="s">"Robin"</span><span class="o">);</span>
<span class="n">mutation2</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span class="s">"hero"</span><span
class="o">,</span> <span class="s">"name"</span><span class="o">,</span> <span
class="n">colVis</span><span class="o">,</span> <span class="s">"Dick
Grayson"</span><span class="o">);</span>
<span class="n">mutation2</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span class="s">"hero"</span><span
class="o">,</span> <span class="s">"wearsCape?"</span><span class="o">,</span>
<span class="s">"true"</span><span class="o">);</span>
+
<span class="nc">Mutation</span> <span class="n">mutation3</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="s">"id0003"</span><span class="o">);</span>
<span class="n">mutation3</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"alias"</span><span class="o">,</span> <span
class="s">"Joker"</span><span class="o">);</span>
<span class="n">mutation3</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"name"</span><span class="o">,</span> <span
class="s">"Unknown"</span><span class="o">);</span>
@@ -181,24 +183,22 @@
<span class="c1">// Create a BatchWriter to the GothamPD table and add
your mutations to it.</span>
<span class="c1">// Once the BatchWriter is closed by the try w/
resources, data will be available to scans.</span>
<span class="k">try</span> <span class="o">(</span><span
class="nc">BatchWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createBatchWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">))</span> <span class="o">{</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation1</span><span class="o">);</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation2</span><span class="o">);</span>
- <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="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation1</span><span class="o">);</span>
+ <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation2</span><span class="o">);</span>
+ <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. Then
print all the rows visibile to the</span>
- <span class="c1">// commissioner. Make sure to pass the proper
authorizations to the Scanner</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="o">.</span><span class="na">as</span><span
class="o">(</span><span class="s">"commissioner"</span><span class="o">,</span>
<span class="s">"gordonrocks"</span><span class="o">).</span><span
class="na">build</span><span class="o">();</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="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 : %-60s
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="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="o">}</span>
-<span class="o">}</span>
+ <span class="o">}</span>
</code></pre></div></div>
-
<p>The solution above will print (timestamp will differ):</p>
<pre><code class="language-commandline">Gotham Police Department Persons of
Interest:
diff --git a/output/tour/authorizations/index.html
b/output/tour/authorizations/index.html
index 8cb4301..8661439 100644
--- a/output/tour/authorizations/index.html
+++ b/output/tour/authorizations/index.html
@@ -148,7 +148,7 @@
<p class="text-muted">Tour page 6 of 12</p>
</div>
<div id="tour-content">
- <p><a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/security/Authorizations.html">Authorizations</a>
are a set of Strings that enable a user to read protected data. Users are
granted authorizations
+ <p><a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/security/Authorizations.html">Authorizations</a>
are a set of <code class="language-plaintext highlighter-rouge">String</code>s
that enable a user to read protected data. Users are granted authorizations
and choose which ones to use when scanning a table. The chosen authorizations
are evaluated against the <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/security/ColumnVisibility.html">ColumnVisibility</a>
of each Accumulo key in the scan. If the boolean expression of the
ColumnVisibility evaluates to true, the data will be
visible to the user.</p>
@@ -166,38 +166,40 @@ visible to the user.</p>
<ol>
<li>Using the code from the previous exercise, add the following to the
beginning of the <em>exercise</em> method.
- <div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <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>
-
- <span class="c1">// Create a user with the "secretId" authorization and
grant him read permissions on our table</span>
- <span class="n">client</span><span class="o">.</span><span
class="na">securityOperations</span><span class="o">().</span><span
class="na">createLocalUser</span><span class="o">(</span><span
class="s">"commissioner"</span><span class="o">,</span> <span
class="k">new</span> <span class="nc">PasswordToken</span><span
class="o">(</span><span class="s">"gordonrocks"</span><span class="o">));</span>
- <span class="n">client</span><span class="o">.</span><span
class="na">securityOperations</span><span class="o">().</span><span
class="na">changeUserAuthorizations</span><span class="o">(</span><span
class="s">"commissioner"</span><span class="o">,</span> <span
class="n">auths</span><span class="o">);</span>
- <span class="n">client</span><span class="o">.</span><span
class="na">securityOperations</span><span class="o">().</span><span
class="na">grantTablePermission</span><span class="o">(</span><span
class="s">"commissioner"</span><span class="o">,</span> <span
class="s">"GothamPD"</span><span class="o">,</span> <span
class="nc">TablePermission</span><span class="o">.</span><span
class="na">READ</span><span class="o">);</span>
-</code></pre></div> </div>
- </li>
- <li>
- <p>The <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/data/Mutation.html">Mutation</a>
API allows you to set the <code class="language-plaintext
highlighter-rouge">secretId</code> visibility on a column. Find the proper
method for setting a column visibility in
-the Mutation API and modify the code so the <code class="language-plaintext
highlighter-rouge">colVis</code> variable created above secures the “name”
columns.</p>
- </li>
- <li>Build and run. What data do you see?
- <ul>
- <li>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 <code class="language-plaintext
highlighter-rouge">secretId</code> authorization.</li>
- <li>Replace the <code class="language-plaintext
highlighter-rouge">Authorizations.EMPTY</code> in the Scanner with the <code
class="language-plaintext highlighter-rouge">auths</code> variable created
above and run it again.</li>
- <li>This should result in an error since the root user doesn’t have the
authorizations we tried to pass to the Scanner.</li>
- </ul>
- </li>
- <li>Use the following to create a client for the “commissioner” using the <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/Accumulo.html">Accumulo</a>
entry point.
- <div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><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">pr [...]
- <span class="o">.</span><span class="na">as</span><span
class="o">(</span><span class="s">"commissioner"</span><span class="o">,</span>
<span class="s">"gordonrocks"</span><span class="o">).</span><span
class="na">build</span><span class="o">();</span>
-</code></pre></div> </div>
- </li>
+```java
+ // Create a “secretId” authorization & visibility
+ final String secretId = “secretId”;
+ Authorizations auths = new Authorizations(secretId);
+ ColumnVisibility colVis = new ColumnVisibility(secretId);</li>
+</ol>
+
+<p>// Create a user with the “secretId” authorization and grant him read
permissions on our table
+ client.securityOperations().createLocalUser(“commissioner”, new
PasswordToken(“gordonrocks”));
+ client.securityOperations().changeUserAuthorizations(“commissioner”, auths);
+ client.securityOperations().grantTablePermission(“commissioner”, “GothamPD”,
TablePermission.READ);</p>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
+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.
+* 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>
<li>
<p>Using the commissioner client, create a Scanner with the authorizations
needed to view the secret identities.</p>
</li>
- <li>Build and run. You should see all the rows in the GothamPD table
printed, including these secured key/value pairs:
+ <li>
+ <p>Build and run. You should see all the rows in the GothamPD table
printed, including these secured key/value pairs:</p>
<pre><code class="language-commandline">Key : id0001 hero:name [secretId]
1511900180231 false Value : Bruce Wayne
Key : id0002 hero:name [secretId] 1511900180231 false Value : Dick
Grayson
</code></pre>
diff --git a/output/tour/basic-read-write/index.html
b/output/tour/basic-read-write/index.html
index ef59235..23706fc 100644
--- a/output/tour/basic-read-write/index.html
+++ b/output/tour/basic-read-write/index.html
@@ -152,8 +152,8 @@
data in tables and rows. Each row in an Accumulo table can hold many
key/value pairs. Our next exercise shows how to
write and read from a table.</p>
-<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="c1">// create a table called "GothamPD".</span>
+<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="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 Mutation object to hold all changes to a row
in a table. Each row has a unique row ID.</span>
@@ -166,20 +166,20 @@ write and read from a table.</p>
<span class="c1">// Create a BatchWriter to the GothamPD table and add
your mutation to it. Try w/ resources will close for us.</span>
<span class="k">try</span> <span class="o">(</span><span
class="nc">BatchWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createBatchWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">))</span> <span class="o">{</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation</span><span class="o">);</span>
+ <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation</span><span class="o">);</span>
<span class="o">}</span>
-
<span class="c1">// Read and print all rows of the "GothamPD" table. Try
w/ resources will close for us.</span>
<span class="k">try</span> <span class="o">(</span><span
class="nc">Scanner</span> <span class="n">scan</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</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">"Gotham Police
Department Persons of Interest:"</span><span class="o">);</span>
- <span class="c1">// A Scanner is an extension of java.lang.Iterable so
behaves just like one.</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="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="c1">// Note: A Scanner is an extension of
java.lang.Iterable so it will traverse through the scanner's range.</span>
+ <span class="c1">// In this case, since no range was set on the Scanner,
it will traverse the entire table.</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>
+ <span class="o">}</span>
</code></pre></div></div>
-
<p>Copy this code into your <code class="language-plaintext
highlighter-rouge">exercise</code> method then compile and run.</p>
<p>Good job! That is all it takes to write and read from Accumulo.</p>
@@ -189,7 +189,7 @@ write and read from a table.</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
+<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
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 377af05..4d2357d 100644
--- a/output/tour/batch-scanner-code/index.html
+++ b/output/tour/batch-scanner-code/index.html
@@ -150,47 +150,46 @@
<div id="tour-content">
<p>Below is a solution to the exercise.</p>
-<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="c1">// create a table called "GothamPD".</span>
+<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="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">// Generate 10,000 rows of henchman data</span>
- <span class="k">try</span><span class="o">(</span><span
class="nc">BatchWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createBatchWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">))</span> <span class="o">{</span>
- <span class="k">for</span><span class="o">(</span><span
class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span
class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span
class="o"><</span> <span class="mi">10_000</span><span class="o">;</span>
<span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
- <span class="nc">Mutation</span> <span class="n">m</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="nc">String</span><span class="o">.</span><span
class="na">format</span><span class="o">(</span><span
class="s">"id%04d"</span><span class="o">,</span> <span class="n">i</span><span
class="o">));</span>
- <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"alias"</span><span class="o">,</span> <span
class="s">"henchman"</span> <span class="o">+</span> <span
class="n">i</span><span class="o">);</span>
- <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"yearsOfService"</span><span class="o">,</span> <span
class="s">""</span> <span class="o">+</span> <span class="o">(</span><span
class="k">new</span> <span class="nc">Random</span><span
class="o">().</span><span class="na">nextInt</span><span
class="o">(</span><span class="mi">50</span><span class="o">)));</span>
- <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"wearsCape?"</span><span class="o">,</span> <span
class="s">"false"</span><span class="o">);</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">m</span><span class="o">);</span>
- <span class="o">}</span>
+ <span class="k">try</span> <span class="o">(</span><span
class="nc">BatchWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createBatchWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">))</span> <span class="o">{</span>
+ <span class="k">for</span> <span class="o">(</span><span
class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span
class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span
class="o"><</span> <span class="mi">10_000</span><span class="o">;</span>
<span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
+ <span class="nc">Mutation</span> <span class="n">m</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="nc">String</span><span class="o">.</span><span
class="na">format</span><span class="o">(</span><span
class="s">"id%04d"</span><span class="o">,</span> <span class="n">i</span><span
class="o">));</span>
+ <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"alias"</span><span class="o">,</span> <span
class="s">"henchman"</span> <span class="o">+</span> <span
class="n">i</span><span class="o">);</span>
+ <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"yearsOfService"</span><span class="o">,</span> <span
class="s">""</span> <span class="o">+</span> <span class="o">(</span><span
class="k">new</span> <span class="nc">Random</span><span
class="o">().</span><span class="na">nextInt</span><span
class="o">(</span><span class="mi">50</span><span class="o">)));</span>
+ <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"wearsCape?"</span><span class="o">,</span> <span
class="s">"false"</span><span class="o">);</span>
+ <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">m</span><span class="o">);</span>
+ <span class="o">}</span>
<span class="o">}</span>
-
<span class="c1">// 1. Create a BatchScanner with 5 query threads</span>
- <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">))</sp [...]
- <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="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">"
villians 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="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="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>
-<span class="o">}</span>
+ <span class="o">}</span>
</code></pre></div></div>
-
<p>Running the solution above should print output similar to below:</p>
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>The average years of service of 2000 villians is 24
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>The average years of service of 2000 villains is 24
</code></pre></div></div>
</div>
diff --git a/output/tour/batch-scanner/index.html
b/output/tour/batch-scanner/index.html
index 9543a8c..e81aafe 100644
--- a/output/tour/batch-scanner/index.html
+++ b/output/tour/batch-scanner/index.html
@@ -148,25 +148,26 @@
<p class="text-muted">Tour page 9 of 12</p>
</div>
<div id="tour-content">
- <p>Running on a single thread, a Scanner will retrieve a single Range of
data and return Keys 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 Ranges of data using multiple threads. A BatchScanner
can be more efficient but does not guarantee Keys will be returned in sorted
order.</p>
+ <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 <code class="language-plaintext
highlighter-rouge">exercise</code> method.</p>
-<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="c1">// create a table called "GothamPD".</span>
+<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>
+
+<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="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">// Generate 10,000 rows of henchman data, each with a
different number yearsOfService</span>
<span class="k">try</span> <span class="o">(</span><span
class="nc">BatchWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createBatchWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">))</span> <span class="o">{</span>
- <span class="k">for</span> <span class="o">(</span><span
class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span
class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span
class="o"><</span> <span class="mi">10_000</span><span class="o">;</span>
<span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
- <span class="nc">Mutation</span> <span class="n">m</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="nc">String</span><span class="o">.</span><span
class="na">format</span><span class="o">(</span><span
class="s">"id%04d"</span><span class="o">,</span> <span class="n">i</span><span
class="o">));</span>
- <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"alias"</span><span class="o">,</span> <span
class="s">"henchman"</span> <span class="o">+</span> <span
class="n">i</span><span class="o">);</span>
- <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"yearsOfService"</span><span class="o">,</span> <span
class="s">""</span> <span class="o">+</span> <span class="o">(</span><span
class="k">new</span> <span class="nc">Random</span><span
class="o">().</span><span class="na">nextInt</span><span
class="o">(</span><span class="mi">50</span><span class="o">)));</span>
- <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"wearsCape?"</span><span class="o">,</span> <span
class="s">"false"</span><span class="o">);</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">m</span><span class="o">);</span>
- <span class="o">}</span>
+ <span class="k">for</span> <span class="o">(</span><span
class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span
class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span
class="o"><</span> <span class="mi">10_000</span><span class="o">;</span>
<span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
+ <span class="nc">Mutation</span> <span class="n">m</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Mutation</span><span class="o">(</span><span
class="nc">String</span><span class="o">.</span><span
class="na">format</span><span class="o">(</span><span
class="s">"id%04d"</span><span class="o">,</span> <span class="n">i</span><span
class="o">));</span>
+ <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"alias"</span><span class="o">,</span> <span
class="s">"henchman"</span> <span class="o">+</span> <span
class="n">i</span><span class="o">);</span>
+ <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"yearsOfService"</span><span class="o">,</span> <span
class="s">""</span> <span class="o">+</span> <span class="o">(</span><span
class="k">new</span> <span class="nc">Random</span><span
class="o">().</span><span class="na">nextInt</span><span
class="o">(</span><span class="mi">50</span><span class="o">)));</span>
+ <span class="n">m</span><span class="o">.</span><span
class="na">put</span><span class="o">(</span><span
class="s">"villain"</span><span class="o">,</span> <span
class="s">"wearsCape?"</span><span class="o">,</span> <span
class="s">"false"</span><span class="o">);</span>
+ <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">m</span><span class="o">);</span>
+ <span class="o">}</span>
<span class="o">}</span>
-<span class="o">}</span>
+ <span class="o">}</span>
</code></pre></div></div>
<p>We want to calculate the average years of service from a sample of 2000
villains. A BatchScanner would be good for this task because we
@@ -174,10 +175,10 @@ don’t need the returned keys to be sorted. Follow these
steps to efficiently s
<ol>
<li>
- <p>After the above code, create a BatchScanner with 5 query threads.
Similar to a Scanner, use the <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/Connector.html#createBatchScanner-java.lang.String-org.apache.accumulo.core.security.Authorizations-int-">createBatchScanner</a>
method.</p>
+ <p>After the above code, create a BatchScanner with five query threads.
Similar to a Scanner, use the <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/Connector.html#createBatchScanner-java.lang.String-org.apache.accumulo.core.security.Authorizations-int-">createBatchScanner</a>
method.</p>
</li>
<li>
- <p>Create an ArrayList of 2 sample Ranges (<code class="language-plaintext
highlighter-rouge">id1000</code> to <code class="language-plaintext
highlighter-rouge">id1999</code> and <code class="language-plaintext
highlighter-rouge">id9000</code> to <code class="language-plaintext
highlighter-rouge">id9999</code>) and set the ranges of the <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/BatchScanner.html">BatchScanner</a>
using [...]
+ <p>Create an ArrayList of two sample <code class="language-plaintext
highlighter-rouge">Range</code>s (<code class="language-plaintext
highlighter-rouge">id1000</code> to <code class="language-plaintext
highlighter-rouge">id1999</code> and <code class="language-plaintext
highlighter-rouge">id9000</code> to <code class="language-plaintext
highlighter-rouge">id9999</code>) and set the ranges of the <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/ac
[...]
</li>
<li>
<p>We can make the scan more efficient by only bringing back the columns
we want. Use <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/client/ScannerBase.html#fetchColumn-org.apache.hadoop.io.Text-org.apache.hadoop.io.Text-">fetchColumn</a>
to get the <code class="language-plaintext highlighter-rouge">villain</code>
family
diff --git a/output/tour/client/index.html b/output/tour/client/index.html
index 9dc6a90..4ade403 100644
--- a/output/tour/client/index.html
+++ b/output/tour/client/index.html
@@ -160,10 +160,10 @@ The properties used to create the client can be seen in
<code class="language-pl
Notice the client can be wrapped in a Java try-with-resources since it is
AutoCloseable.</p>
<p>Start by using table operations to list the default tables and instance
operations to get the instance ID.</p>
-<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>
+<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">"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-code/index.html
b/output/tour/conditional-writer-code/index.html
index 3451c13..2c44506 100644
--- a/output/tour/conditional-writer-code/index.html
+++ b/output/tour/conditional-writer-code/index.html
@@ -153,7 +153,7 @@
<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="kd">static</span> <span
class="kt">boolean</span> <span class="nf">setAddress</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="nc">String</span> <span class="n">expectedAddr</span><span
class="o">,</span> <span c [...]
<span class="k">try</span> <span class="o">(</span><span
class="nc">ConditionalWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createConditionalWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">,</span> <span class="k">new</span>
<span class="nc">ConditionalWriterConfig</span><span class="o">()))</span>
<span class="o">{</span>
<span class="nc">Condition</span> <span class="n">condition</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Condition</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">if</span><span class="o">(</span><span
class="n">expectedAddr</span> <span class="o">!=</span> <span
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
+ <span class="k">if</span> <span class="o">(</span><span
class="n">expectedAddr</span> <span class="o">!=</span> <span
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
<span class="n">condition</span><span class="o">.</span><span
class="na">setValue</span><span class="o">(</span><span
class="n">expectedAddr</span><span class="o">);</span>
<span class="o">}</span>
<span class="nc">ConditionalMutation</span> <span
class="n">mutation</span> <span class="o">=</span> <span class="k">new</span>
<span class="nc">ConditionalMutation</span><span class="o">(</span><span
class="n">id</span><span class="o">,</span> <span
class="n">condition</span><span class="o">);</span>
@@ -163,7 +163,6 @@
<span class="k">throw</span> <span class="k">new</span> <span
class="nf">RuntimeException</span><span class="o">(</span><span
class="n">e</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
-
</code></pre></div></div>
<p>The following output shows running the example with a conditional writer.
diff --git a/output/tour/conditional-writer/index.html
b/output/tour/conditional-writer/index.html
index 3425648..cbe54eb 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>
@@ -213,36 +213,34 @@ changed since it was read.</p>
<span class="k">return</span> <span
class="nc">CompletableFuture</span><span class="o">.</span><span
class="na">runAsync</span><span class="o">(()</span> <span
class="o">-></span> <span class="o">{</span>
<span class="nc">String</span> <span class="n">currAddr</span><span
class="o">,</span> <span class="n">newAddr</span><span class="o">;</span>
<span class="k">do</span> <span class="o">{</span>
- <span class="n">currAddr</span> <span class="o">=</span> <span
class="n">getAddress</span><span class="o">(</span><span
class="n">client</span><span class="o">,</span> <span class="n">id</span><span
class="o">);</span>
- <span class="n">newAddr</span> <span class="o">=</span> <span
class="n">modifier</span><span class="o">.</span><span
class="na">apply</span><span class="o">(</span><span
class="n">currAddr</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">"Thread %3d
attempting change %20s -> %-20s\n"</span><span class="o">,</span>
- <span class="nc">Thread</span><span class="o">.</span><span
class="na">currentThread</span><span class="o">().</span><span
class="na">getId</span><span class="o">(),</span> <span
class="s">"'"</span><span class="o">+</span><span
class="n">currAddr</span><span class="o">+</span><span
class="s">"'"</span><span class="o">,</span> <span class="s">"'"</span><span
class="o">+</span><span class="n">newAddr</span><span class="o">+</span><span
class="s">"'"</span><span class="o">);</span>
+ <span class="n">currAddr</span> <span class="o">=</span> <span
class="n">getAddress</span><span class="o">(</span><span
class="n">client</span><span class="o">,</span> <span class="n">id</span><span
class="o">);</span>
+ <span class="n">newAddr</span> <span class="o">=</span> <span
class="n">modifier</span><span class="o">.</span><span
class="na">apply</span><span class="o">(</span><span
class="n">currAddr</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">"Thread %3d
attempting change %20s -> %-20s\n"</span><span class="o">,</span>
+ <span class="nc">Thread</span><span class="o">.</span><span
class="na">currentThread</span><span class="o">().</span><span
class="na">getId</span><span class="o">(),</span> <span
class="s">"'"</span><span class="o">+</span><span
class="n">currAddr</span><span class="o">+</span><span
class="s">"'"</span><span class="o">,</span> <span class="s">"'"</span><span
class="o">+</span><span class="n">newAddr</span><span class="o">+</span><span
class="s">"'"</span><span class="o">);</span>
<span class="o">}</span> <span class="k">while</span> <span
class="o">(!</span><span class="n">setAddress</span><span
class="o">(</span><span class="n">client</span><span class="o">,</span> <span
class="n">id</span><span class="o">,</span> <span
class="n">currAddr</span><span class="o">,</span> <span
class="n">newAddr</span><span class="o">));</span>
- <span class="o">});</span>
+ <span class="o">}</span>
<span class="o">}</span>
<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="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="nc">String</span> <span class="n">id</span> <span
class="o">=</span> <span class="s">"id0001"</span><span class="o">;</span>
-
<span class="n">setAddress</span><span class="o">(</span><span
class="n">client</span><span class="o">,</span> <span class="n">id</span><span
class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span
class="s">" 1007 Mountain Drive, Gotham, New York "</span><span
class="o">);</span>
- <span class="c1">// create async operation to trim whitespace</span>
+ <span class="c1">// Create async operation to trim whitespace</span>
<span class="nc">Future</span><span class="o"><</span><span
class="nc">Void</span><span class="o">></span> <span
class="n">future1</span> <span class="o">=</span> <span
class="n">modifyAddress</span><span class="o">(</span><span
class="n">client</span><span class="o">,</span> <span class="n">id</span><span
class="o">,</span> <span class="nl">String:</span><span class="o">:</span><span
class="n">trim</span><span class="o">);</span>
- <span class="c1">// create async operation to replace Dr with Drive</span>
+ <span class="c1">// Create async operation to replace Dr with Drive</span>
<span class="nc">Future</span><span class="o"><</span><span
class="nc">Void</span><span class="o">></span> <span
class="n">future2</span> <span class="o">=</span> <span
class="n">modifyAddress</span><span class="o">(</span><span
class="n">client</span><span class="o">,</span> <span class="n">id</span><span
class="o">,</span> <span class="n">addr</span> <span class="o">-></span>
<span class="n">addr</span><span class="o">.</span><span
class="na">replace</span><span class="o"> [...]
- <span class="c1">// create async operation to replace New York with
NY</span>
+ <span class="c1">// Create async operation to replace New York with
NY</span>
<span class="nc">Future</span><span class="o"><</span><span
class="nc">Void</span><span class="o">></span> <span
class="n">future3</span> <span class="o">=</span> <span
class="n">modifyAddress</span><span class="o">(</span><span
class="n">client</span><span class="o">,</span> <span class="n">id</span><span
class="o">,</span> <span class="n">addr</span> <span class="o">-></span>
<span class="n">addr</span><span class="o">.</span><span
class="na">replace</span><span class="o"> [...]
- <span class="c1">// wait for async operations to complete</span>
+ <span class="c1">// Wait for async operations to complete</span>
<span class="n">future1</span><span class="o">.</span><span
class="na">get</span><span class="o">();</span>
<span class="n">future2</span><span class="o">.</span><span
class="na">get</span><span class="o">();</span>
<span class="n">future3</span><span class="o">.</span><span
class="na">get</span><span class="o">();</span>
- <span class="c1">// print the address stored in Accumulo</span>
+ <span class="c1">// Print the address stored in Accumulo</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">"Final address
: '"</span><span class="o">+</span><span class="n">getAddress</span><span
class="o">(</span><span class="n">client</span><span class="o">,</span> <span
class="n">id</span><span class="o">)+</span><span class="s">"'"</span><span
class="o">);</span>
<span class="o">}</span>
</code></pre></div></div>
diff --git a/output/tour/data-model-code/index.html
b/output/tour/data-model-code/index.html
index 51b2048..2f1b431 100644
--- a/output/tour/data-model-code/index.html
+++ b/output/tour/data-model-code/index.html
@@ -150,8 +150,8 @@
<div id="tour-content">
<p>Below is the solution for the exercise.</p>
-<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="c1">// create a table called "GothamPD".</span>
+<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="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 row for Batman</span>
@@ -175,23 +175,24 @@
<span class="c1">// Create a BatchWriter to the GothamPD table and add
your mutations to it.</span>
<span class="c1">// Once the BatchWriter is closed by the try w/
resources, data will be available to scans.</span>
<span class="k">try</span> <span class="o">(</span><span
class="nc">BatchWriter</span> <span class="n">writer</span> <span
class="o">=</span> <span class="n">client</span><span class="o">.</span><span
class="na">createBatchWriter</span><span class="o">(</span><span
class="s">"GothamPD"</span><span class="o">))</span> <span class="o">{</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation1</span><span class="o">);</span>
- <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation2</span><span class="o">);</span>
- <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="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation1</span><span class="o">);</span>
+ <span class="n">writer</span><span class="o">.</span><span
class="na">addMutation</span><span class="o">(</span><span
class="n">mutation2</span><span class="o">);</span>
+ <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">// Read and print all rows of the "GothamPD" table. Try
w/ resources will close for us.</span>
<span class="k">try</span> <span class="o">(</span><span
class="nc">Scanner</span> <span class="n">scan</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</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">"Gotham Police
Department Persons of Interest:"</span><span class="o">);</span>
- <span class="c1">// A Scanner is an extension of java.lang.Iterable so
behaves just like one.</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="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="c1">// Note: A Scanner is an extension of java.lang.Iterable
so it will traverse through the table.</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>
+ <span class="o">}</span>
</code></pre></div></div>
-
<p>The code above will print (timestamp will differ):</p>
+
<pre><code class="language-commandline">Gotham Police Department Persons of
Interest:
Key : id0001 hero:alias [] 1511306370025 false Value : Batman
Key : id0001 hero:name [] 1511306370025 false Value : Bruce Wayne
diff --git a/output/tour/data-model/index.html
b/output/tour/data-model/index.html
index 5751a0b..be3ec2a 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 Keys 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 a28c678..dcd9574 100644
--- a/output/tour/getting-started/index.html
+++ b/output/tour/getting-started/index.html
@@ -164,10 +164,10 @@ version of Accumulo that runs on your local filesystem.
It should only be used
great here on the tour. Files and logs used by <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-minicluster/2.0.1/org/apache/accumulo/minicluster/MiniAccumuloCluster.html">MiniAccumuloCluster</a>
can be seen in the <code class="language-plaintext
highlighter-rouge">target/mac######</code> directory.</p>
</li>
<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">// start writing 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="o">}</span>
+ <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="o">}</span>
</code></pre></div> </div>
</li>
<li>Use the following Maven command to build and run the tour.
diff --git a/output/tour/ranges-splits/index.html
b/output/tour/ranges-splits/index.html
index 1f4dbe7..1c42197 100644
--- a/output/tour/ranges-splits/index.html
+++ b/output/tour/ranges-splits/index.html
@@ -148,20 +148,20 @@
<p class="text-muted">Tour page 8 of 12</p>
</div>
<div id="tour-content">
- <p>A <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/data/Range.html">Range</a>
is a specified group of Keys. There are many different ways to create a Range.
Here are a few examples:</p>
+ <p>A <a
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.1/org/apache/accumulo/core/data/Range.html">Range</a>
is a specified group of <code class="language-plaintext
highlighter-rouge">Key</code>s. There are many different ways to create a <code
class="language-plaintext highlighter-rouge">Range</code>. Here are a few
examples:</p>
<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nc">Range</span> <span class="n">r1</span>
<span class="o">=</span> <span class="k">new</span> <span
class="nc">Range</span><span class="o">(</span><span
class="n">startKey</span><span class="o">,</span> <span
class="n">endKey</span><span class="o">);</span> <span class="c1">// Creates a
range from startKey inclusive to endKey inclusive.</span>
<span class="nc">Range</span> <span class="n">r2</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Range</span><span class="o">(</span><span class="n">row</span><span
class="o">);</span> <span class="c1">// Creates a range that
covers an entire row.</span>
<span class="nc">Range</span> <span class="n">r3</span> <span
class="o">=</span> <span class="k">new</span> <span
class="nc">Range</span><span class="o">(</span><span
class="n">startRow</span><span class="o">,</span> <span
class="n">endRow</span><span class="o">);</span> <span class="c1">// Creates a
range from startRow inclusive to endRow inclusive.</span>
</code></pre></div></div>
-<p>A Scanner by default will scan all Keys in a table but this can be
inefficient. It is a good practice to set a range on a Scanner.</p>
+<p>A <code class="language-plaintext highlighter-rouge">Scanner</code> by
default will scan all <code class="language-plaintext
highlighter-rouge">Key</code>s in a table but this can be inefficient. It is a
good practice to set a range on a Scanner.</p>
<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 Tablets. Tablets can then be distributed across multiple Tablet
Servers.<br />
-By default, a table will get split into Tablets on row boundaries,
guaranteeing an entire row to be on one Tablet Server. We have the ability to
+<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
demonstrates how Accumulo splits data.</p>
@@ -178,8 +178,8 @@ 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 Servers, a
simple Scanner might not do the trick. Next lesson we learn about the power of
-the multi-threaded BatchScanner!</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
+the multi-threaded <code class="language-plaintext
highlighter-rouge">BatchScanner</code>!</p>
</div>