http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1490b3ab/book.html ---------------------------------------------------------------------- diff --git a/book.html b/book.html index 0a365e5..5a80fe0 100644 --- a/book.html +++ b/book.html @@ -2584,7 +2584,7 @@ Some configurations would only appear in source code; the only way to identify t <dd> <div class="paragraph"> <div class="title">Description</div> -<p>A split policy determines when a region should be split. The various other split policies that are available currently are BusyRegionSplitPolicy, ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy, DelimitedKeyPrefixRegionSplitPolicy, and KeyPrefixRegionSplitPolicy. DisabledRegionSplitPolicy blocks manual region splitting.</p> +<p>A split policy determines when a region should be split. The various other split policies that are available currently are BusyRegionSplitPolicy, ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy, DelimitedKeyPrefixRegionSplitPolicy, KeyPrefixRegionSplitPolicy, and SteppingSplitPolicy. DisabledRegionSplitPolicy blocks manual region splitting.</p> </div> <div class="paragraph"> <div class="title">Default</div> @@ -2794,7 +2794,7 @@ Some configurations would only appear in source code; the only way to identify t <dd> <div class="paragraph"> <div class="title">Description</div> -<p>Default size of the HTable client write buffer in bytes. A bigger buffer takes more memory — on both the client and server side since server instantiates the passed write buffer to process it — but a larger buffer size reduces the number of RPCs made. For an estimate of server-side memory-used, evaluate hbase.client.write.buffer * hbase.regionserver.handler.count</p> +<p>Default size of the BufferedMutator write buffer in bytes. A bigger buffer takes more memory — on both the client and server side since server instantiates the passed write buffer to process it — but a larger buffer size reduces the number of RPCs made. For an estimate of server-side memory-used, evaluate hbase.client.write.buffer * hbase.regionserver.handler.count</p> </div> <div class="paragraph"> <div class="title">Default</div> @@ -5395,7 +5395,7 @@ It also makes it so region boundaries are known and invariant (if you disable re </div> <div class="paragraph"> <div class="title">Disable Automatic Splitting</div> -<p>To disable automatic splitting, set <code>hbase.hregion.max.filesize</code> to a very large value, such as <code>100 GB</code> It is not recommended to set it to its absolute maximum value of <code>Long.MAX_VALUE</code>.</p> +<p>To disable automatic splitting, you can set region split policy in either cluster configuration or table configuration to be <code>org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy</code></p> </div> <div class="admonitionblock note"> <table> @@ -7485,7 +7485,7 @@ Gets are executed via <a href="http://hbase.apache.org/apidocs/org/apache/hadoop <div class="sect2"> <h3 id="_put"><a class="anchor" href="#_put"></a>26.2. Put</h3> <div class="paragraph"> -<p><a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Put.html">Put</a> either adds new rows to a table (if the key is new) or can update existing rows (if the key already exists). Puts are executed via <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#put(org.apache.hadoop.hbase.client.Put)">Table.put</a> (writeBuffer) or <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,%20java.lang.Object%5B%5D)">Table.batch</a> (non-writeBuffer).</p> +<p><a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Put.html">Put</a> either adds new rows to a table (if the key is new) or can update existing rows (if the key already exists). Puts are executed via <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#put(org.apache.hadoop.hbase.client.Put)">Table.put</a> (non-writeBuffer) or <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,%20java.lang.Object%5B%5D)">Table.batch</a> (non-writeBuffer).</p> </div> </div> <div class="sect2"> @@ -13206,7 +13206,7 @@ Please use <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/clie <p>In HBase 1.0 and later, <a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/HTable.html">HTable</a> is deprecated in favor of <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html">Table</a>. <code>Table</code> does not use autoflush. To do buffered writes, use the BufferedMutator class.</p> </div> <div class="paragraph"> -<p>Before a <code>Table</code> or <code>HTable</code> instance is discarded, invoke either <code>close()</code> or <code>flushCommits()</code>, so `Put`s will not be lost.</p> +<p>In HBase 2.0 and later, <a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/HTable.html">HTable</a> does not use BufferedMutator to execute the <code>Put</code> operation. Refer to <a href="https://issues.apache.org/jira/browse/HBASE-18500">HBASE-18500</a> for more information.</p> </div> <div class="paragraph"> <p>For additional information on write durability, review the <a href="/acid-semantics.html">ACID semantics</a> page.</p> @@ -13304,14 +13304,14 @@ The following example shows an 'or' between two Filters (checking for either 'my SingleColumnValueFilter filter1 = <span class="keyword">new</span> SingleColumnValueFilter( cf, column, - CompareOp.EQUAL, + CompareOperator.EQUAL, Bytes.toBytes(<span class="string"><span class="delimiter">"</span><span class="content">my value</span><span class="delimiter">"</span></span>) ); list.add(filter1); SingleColumnValueFilter filter2 = <span class="keyword">new</span> SingleColumnValueFilter( cf, column, - CompareOp.EQUAL, + CompareOperator.EQUAL, Bytes.toBytes(<span class="string"><span class="delimiter">"</span><span class="content">my other value</span><span class="delimiter">"</span></span>) ); list.add(filter2); @@ -13327,8 +13327,8 @@ scan.setFilter(list);</code></pre> <div class="paragraph"> <p>A SingleColumnValueFilter (see: <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" class="bare">http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html</a>) -can be used to test column values for equivalence (<code>CompareOp.EQUAL</code>), -inequality (<code>CompareOp.NOT_EQUAL</code>), or ranges (e.g., <code>CompareOp.GREATER</code>). The following is an +can be used to test column values for equivalence (<code>CompareOperaor.EQUAL</code>), +inequality (<code>CompareOperaor.NOT_EQUAL</code>), or ranges (e.g., <code>CompareOperaor.GREATER</code>). The following is an example of testing equivalence of a column to a String value "my value"…​</p> </div> <div class="listingblock"> @@ -13336,7 +13336,7 @@ example of testing equivalence of a column to a String value "my value"…&# <pre class="CodeRay highlight"><code data-lang="java">SingleColumnValueFilter filter = <span class="keyword">new</span> SingleColumnValueFilter( cf, column, - CompareOp.EQUAL, + CompareOperaor.EQUAL, Bytes.toBytes(<span class="string"><span class="delimiter">"</span><span class="content">my value</span><span class="delimiter">"</span></span>) ); scan.setFilter(filter);</code></pre> @@ -13361,7 +13361,7 @@ These Comparators are used in concert with other Filters, such as <a href="#clie SingleColumnValueFilter filter = <span class="keyword">new</span> SingleColumnValueFilter( cf, column, - CompareOp.EQUAL, + CompareOperaor.EQUAL, comp ); scan.setFilter(filter);</code></pre> @@ -13383,7 +13383,7 @@ The comparison is case-insensitive.</p> SingleColumnValueFilter filter = <span class="keyword">new</span> SingleColumnValueFilter( cf, column, - CompareOp.EQUAL, + CompareOperaor.EQUAL, comp ); scan.setFilter(filter);</code></pre> @@ -24374,7 +24374,7 @@ If inconsistencies, run <code>hbck</code> a few times because the inconsistency <div class="sect2"> <h3 id="_wal_tools"><a class="anchor" href="#_wal_tools"></a>130.6. WAL Tools</h3> <div class="sect3"> -<h4 id="hlog_tool"><a class="anchor" href="#hlog_tool"></a>130.6.1. <code>FSHLog</code> tool</h4> +<h4 id="hlog_tool"><a class="anchor" href="#hlog_tool"></a>130.6.1. FSHLog tool</h4> <div class="paragraph"> <p>The main method on <code>FSHLog</code> offers manual split and dump facilities. Pass it WALs or the product of a split, the content of the <em>recovered.edits</em>. @@ -24400,9 +24400,9 @@ directory.</p> </div> </div> <div class="sect4"> -<h5 id="hlog_tool.prettyprint"><a class="anchor" href="#hlog_tool.prettyprint"></a>WAL Pretty Printer</h5> +<h5 id="hlog_tool.prettyprint"><a class="anchor" href="#hlog_tool.prettyprint"></a>WALPrettyPrinter</h5> <div class="paragraph"> -<p>The WAL Pretty Printer is a tool with configurable options to print the contents of a WAL. +<p>The <code>WALPrettyPrinter</code> is a tool with configurable options to print the contents of a WAL. You can invoke it via the HBase cli with the 'wal' command.</p> </div> <div class="listingblock"> @@ -24419,7 +24419,7 @@ You can invoke it via the HBase cli with the 'wal' command.</p> <td class="content"> <div class="title">WAL Printing in older versions of HBase</div> <div class="paragraph"> -<p>Prior to version 2.0, the WAL Pretty Printer was called the <code>HLogPrettyPrinter</code>, after an internal name for HBase’s write ahead log. +<p>Prior to version 2.0, the <code>WALPrettyPrinter</code> was called the <code>HLogPrettyPrinter</code>, after an internal name for HBase’s write ahead log. In those versions, you can print the contents of a WAL using the same configuration as above, but with the 'hlog' command.</p> </div> <div class="listingblock"> @@ -24526,13 +24526,83 @@ For performance consider the following general options: <h3 id="export"><a class="anchor" href="#export"></a>130.9. Export</h3> <div class="paragraph"> <p>Export is a utility that will dump the contents of table to HDFS in a sequence file. -Invoke via:</p> +The Export can be run via a Coprocessor Endpoint or MapReduce. Invoke via:</p> +</div> +<div class="paragraph"> +<p><strong>mapreduce-based Export</strong></p> </div> <div class="listingblock"> <div class="content"> <pre>$ bin/hbase org.apache.hadoop.hbase.mapreduce.Export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]</pre> </div> </div> +<div class="paragraph"> +<p><strong>endpoint-based Export</strong></p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ bin/hbase org.apache.hadoop.hbase.coprocessor.Export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]</pre> +</div> +</div> +<div class="paragraph"> +<p><strong>The Comparison of Endpoint-based Export And Mapreduce-based Export</strong></p> +</div> +<table class="tableblock frame-all grid-all spread"> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 33.3333%;"> +<col style="width: 33.3334%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"></th> +<th class="tableblock halign-left valign-top">Endpoint-based Export</th> +<th class="tableblock halign-left valign-top">Mapreduce-based Export</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">HBase version requirement</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">2.0+</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">0.2.1+</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Maven dependency</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">hbase-endpoint</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">hbase-mapreduce (2.0+), hbase-server(prior to 2.0)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Requirement before dump</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">mount the endpoint.Export on the target table</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">deploy the MapReduce framework</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Read latency</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">low, directly read the data from region</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">normal, traditional RPC scan</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Read Scalability</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">depend on number of regions</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">depend on number of mappers (see TableInputFormatBase#getSplits)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">operation timeout. configured by hbase.client.operation.timeout</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">scan timeout. configured by hbase.client.scanner.timeout.period</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Permission requirement</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">READ, EXECUTE</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">READ</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Fault tolerance</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">no</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">depend on MapReduce</p></td> +</tr> +</tbody> +</table> <div class="admonitionblock note"> <table> <tr> @@ -35075,7 +35145,7 @@ The server will return cellblocks compressed using this same compressor as long <div id="footer"> <div id="footer-text"> Version 3.0.0-SNAPSHOT<br> -Last updated 2017-09-08 14:29:37 UTC +Last updated 2017-09-09 14:29:38 UTC </div> </div> </body>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1490b3ab/bulk-loads.html ---------------------------------------------------------------------- diff --git a/bulk-loads.html b/bulk-loads.html index 32fe7a1..2bd58ba 100644 --- a/bulk-loads.html +++ b/bulk-loads.html @@ -7,7 +7,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170908" /> + <meta name="Date-Revision-yyyymmdd" content="20170909" /> <meta http-equiv="Content-Language" content="en" /> <title>Apache HBase – Bulk Loads in Apache HBase (TM) @@ -311,7 +311,7 @@ under the License. --> <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. - <li id="publishDate" class="pull-right">Last Published: 2017-09-08</li> + <li id="publishDate" class="pull-right">Last Published: 2017-09-09</li> </p> </div>