You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2018/05/17 22:13:03 UTC
[09/11] orc git commit: Deploy docs with CVE.
http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/docs/core-java.html
----------------------------------------------------------------------
diff --git a/docs/core-java.html b/docs/core-java.html
index ca4e99b..4424fa9 100644
--- a/docs/core-java.html
+++ b/docs/core-java.html
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>Using Core Java</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
- <meta name="generator" content="Jekyll v2.4.0">
+ <meta name="generator" content="Jekyll v3.7.3">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
<link rel="stylesheet" href="/css/screen.css">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -109,7 +109,7 @@
- <option value="/docs/index.html">Background</option>
+ <option value="http://localhost:4000/docs/index.html">Background</option>
@@ -131,7 +131,7 @@
- <option value="/docs/adopters.html">ORC Adopters</option>
+ <option value="http://localhost:4000/docs/adopters.html">ORC Adopters</option>
@@ -193,7 +193,7 @@
- <option value="/docs/types.html">Types</option>
+ <option value="http://localhost:4000/docs/types.html">Types</option>
@@ -219,7 +219,7 @@
- <option value="/docs/indexes.html">Indexes</option>
+ <option value="http://localhost:4000/docs/indexes.html">Indexes</option>
@@ -237,7 +237,7 @@
- <option value="/docs/acid.html">ACID support</option>
+ <option value="http://localhost:4000/docs/acid.html">ACID support</option>
@@ -284,7 +284,7 @@
- <option value="/docs/building.html">Building ORC</option>
+ <option value="http://localhost:4000/docs/building.html">Building ORC</option>
@@ -342,7 +342,7 @@
- <option value="/docs/releases.html">Releases</option>
+ <option value="http://localhost:4000/docs/releases.html">Releases</option>
@@ -373,7 +373,7 @@
- <option value="/docs/hive-ddl.html">Hive DDL</option>
+ <option value="http://localhost:4000/docs/hive-ddl.html">Hive DDL</option>
@@ -407,7 +407,7 @@
- <option value="/docs/hive-config.html">Hive Configuration</option>
+ <option value="http://localhost:4000/docs/hive-config.html">Hive Configuration</option>
@@ -460,7 +460,7 @@
- <option value="/docs/mapred.html">Using in MapRed</option>
+ <option value="http://localhost:4000/docs/mapred.html">Using in MapRed</option>
@@ -498,7 +498,7 @@
- <option value="/docs/mapreduce.html">Using in MapReduce</option>
+ <option value="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</option>
@@ -525,7 +525,7 @@
- <option value="/docs/core-java.html">Using Core Java</option>
+ <option value="http://localhost:4000/docs/core-java.html">Using Core Java</option>
@@ -559,7 +559,7 @@
- <option value="/docs/core-cpp.html">Using Core C++</option>
+ <option value="http://localhost:4000/docs/core-cpp.html">Using Core C++</option>
@@ -606,7 +606,7 @@
- <option value="/docs/cpp-tools.html">C++ Tools</option>
+ <option value="http://localhost:4000/docs/cpp-tools.html">C++ Tools</option>
@@ -652,7 +652,7 @@
- <option value="/docs/java-tools.html">Java Tools</option>
+ <option value="http://localhost:4000/docs/java-tools.html">Java Tools</option>
@@ -681,46 +681,46 @@ read and write the data.</p>
<h2 id="vectorized-row-batch">Vectorized Row Batch</h2>
<p>Data is passed to ORC as instances of
-<a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.html">VectorizedRowBatch</a>
+<a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.html">VectorizedRowBatch</a>
that contain the data for 1024 rows. The focus is on speed and
-accessing the data fields directly. <code>cols</code> is an array of
-<a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html">ColumnVector</a>
-and <code>size</code> is the number of rows.</p>
+accessing the data fields directly. <code class="highlighter-rouge">cols</code> is an array of
+<a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html">ColumnVector</a>
+and <code class="highlighter-rouge">size</code> is the number of rows.</p>
-<pre><code class="language-java">package org.apache.hadoop.hive.ql.exec.vector;
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">package</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">hadoop</span><span class="o">.</span><span class="na">hive</span><span class="o">.</span><span class="na">ql</span><span class="o">.</span><span class="na">exec</span><span class="o">.</span><span class="na">vector</span><span class="o">;</span>
-public class VectorizedRowBatch {
- public ColumnVector[] cols;
- public int size;
- ...
-}
-</code></pre>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">VectorizedRowBatch</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">ColumnVector</span><span class="o">[]</span> <span class="n">cols</span><span class="o">;</span>
+ <span class="kd">public</span> <span class="kt">int</span> <span class="n">size</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html">ColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html">ColumnVector</a>
is the parent type of the different kinds of columns and has some
fields that are shared across all of the column types. In particular,
-the <code>noNulls</code> flag if there are no nulls in this column for this batch
-and the <code>isRepeating</code> flag for columns were the entire batch is the
-same value. For columns where <code>noNulls == false</code> the <code>isNull</code> array is
+the <code class="highlighter-rouge">noNulls</code> flag if there are no nulls in this column for this batch
+and the <code class="highlighter-rouge">isRepeating</code> flag for columns were the entire batch is the
+same value. For columns where <code class="highlighter-rouge">noNulls == false</code> the <code class="highlighter-rouge">isNull</code> array is
true if that value is null.</p>
-<pre><code class="language-java">public abstract class ColumnVector {
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">abstract</span> <span class="kd">class</span> <span class="nc">ColumnVector</span> <span class="o">{</span>
- // If the whole column vector has no nulls, this is true, otherwise false.
- public boolean noNulls;
+ <span class="c1">// If the whole column vector has no nulls, this is true, otherwise false.</span>
+ <span class="kd">public</span> <span class="kt">boolean</span> <span class="n">noNulls</span><span class="o">;</span>
- // If hasNulls is true, then this array contains true if the value is
- // is null, otherwise false.
- public boolean[] isNull;
+ <span class="c1">// If hasNulls is true, then this array contains true if the value is</span>
+ <span class="c1">// is null, otherwise false.</span>
+ <span class="kd">public</span> <span class="kt">boolean</span><span class="o">[]</span> <span class="n">isNull</span><span class="o">;</span>
- /*
+ <span class="cm">/*
* True if same value repeats for whole column vector.
* If so, vector[0] holds the repeating value.
- */
- public boolean isRepeating;
- ...
-}
-</code></pre>
+ */</span>
+ <span class="kd">public</span> <span class="kt">boolean</span> <span class="n">isRepeating</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
<p>The subtypes of ColumnVector are:</p>
@@ -734,240 +734,240 @@ true if that value is null.</p>
<tbody>
<tr>
<td>array</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ListColumnVector.html">ListColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ListColumnVector.html">ListColumnVector</a></td>
</tr>
<tr>
<td>binary</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
</tr>
<tr>
<td>bigint</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
</tr>
<tr>
<td>boolean</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
</tr>
<tr>
<td>char</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
</tr>
<tr>
<td>date</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
</tr>
<tr>
<td>decimal</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.html">DecimalColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.html">DecimalColumnVector</a></td>
</tr>
<tr>
<td>double</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DoubleColumnVector.html">DoubleColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DoubleColumnVector.html">DoubleColumnVector</a></td>
</tr>
<tr>
<td>float</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DoubleColumnVector.html">DoubleColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DoubleColumnVector.html">DoubleColumnVector</a></td>
</tr>
<tr>
<td>int</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
</tr>
<tr>
<td>map</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/MapColumnVector.html">MapColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/MapColumnVector.html">MapColumnVector</a></td>
</tr>
<tr>
<td>smallint</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
</tr>
<tr>
<td>string</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
</tr>
<tr>
<td>struct</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/StructColumnVector.html">StructColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/StructColumnVector.html">StructColumnVector</a></td>
</tr>
<tr>
<td>timestamp</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.html">TimestampColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.html">TimestampColumnVector</a></td>
</tr>
<tr>
<td>tinyint</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a></td>
</tr>
<tr>
<td>uniontype</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/UnionColumnVector.html">UnionColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/UnionColumnVector.html">UnionColumnVector</a></td>
</tr>
<tr>
<td>varchar</td>
- <td><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
+ <td><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a></td>
</tr>
</tbody>
</table>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a> handles all of the integer types (boolean, bigint,
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/LongColumnVector.html">LongColumnVector</a> handles all of the integer types (boolean, bigint,
date, int, smallint, and tinyint). The data is represented as an array of
longs where each value is sign-extended as necessary.</p>
-<pre><code class="language-java">public class LongColumnVector extends ColumnVector {
- public long[] vector;
- ...
-}
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">LongColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">long</span><span class="o">[]</span> <span class="n">vector</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.html">TimestampColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.html">TimestampColumnVector</a>
handles timestamp values. The data is represented as an array of longs
and an array of ints.</p>
-<pre><code class="language-java">public class TimestampColumnVector extends ColumnVector {
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">TimestampColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
- // the number of milliseconds since 1 Jan 1970 00:00 GMT
- public long[] time;
+ <span class="c1">// the number of milliseconds since 1 Jan 1970 00:00 GMT</span>
+ <span class="kd">public</span> <span class="kt">long</span><span class="o">[]</span> <span class="n">time</span><span class="o">;</span>
- // the number of nanoseconds within the second
- public int[] nanos
- ...
-}
-</code></pre>
+ <span class="c1">// the number of nanoseconds within the second</span>
+ <span class="kd">public</span> <span class="kt">int</span><span class="o">[]</span> <span class="n">nanos</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DoubleColumnVector.html">DoubleColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DoubleColumnVector.html">DoubleColumnVector</a>
handles all of the floating point types (double, and float). The data
is represented as an array of doubles.</p>
-<pre><code class="language-java">public class DoubleColumnVector extends ColumnVector {
- public double[] vector;
- ...
-}
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">DoubleColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">double</span><span class="o">[]</span> <span class="n">vector</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.html">DecimalColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.html">DecimalColumnVector</a>
handles decimal columns. The data is represented as an array of
HiveDecimalWritable. Note that this implementation is not performant
and will likely be replaced.</p>
-<pre><code class="language-java">public class DecimalColumnVector extends ColumnVector {
- public HiveDecimalWritable[] vector;
- ...
-}
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">DecimalColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">HiveDecimalWritable</span><span class="o">[]</span> <span class="n">vector</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html">BytesColumnVector</a>
handles all of the binary types (binary, char, string, and
varchar). The data is represented as a byte array, offset, and
length. The byte arrays may or may not be shared between values.</p>
-<pre><code class="language-java">public class BytesColumnVector extends ColumnVector {
- public byte[][] vector;
- public int[] start;
- public int[] length;
- ...
-}
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">BytesColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">byte</span><span class="o">[][]</span> <span class="n">vector</span><span class="o">;</span>
+ <span class="kd">public</span> <span class="kt">int</span><span class="o">[]</span> <span class="n">start</span><span class="o">;</span>
+ <span class="kd">public</span> <span class="kt">int</span><span class="o">[]</span> <span class="n">length</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/StructColumnVector.html">StructColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/StructColumnVector.html">StructColumnVector</a>
handles the struct columns and represents the data as an array of
-<code>ColumnVector</code>. The value for row 5 consists of the fifth value from
-each of the <code>fields</code> values.</p>
+<code class="highlighter-rouge">ColumnVector</code>. The value for row 5 consists of the fifth value from
+each of the <code class="highlighter-rouge">fields</code> values.</p>
-<pre><code class="language-java">public class StructColumnVector extends ColumnVector {
- public ColumnVector[] fields;
- ...
-}
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">StructColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">ColumnVector</span><span class="o">[]</span> <span class="n">fields</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/UnionColumnVector.html">UnionColumnVector</a>
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/UnionColumnVector.html">UnionColumnVector</a>
handles the union columns and represents the data as an array of
-integers that pick the subtype and a <code>fields</code> array one per a
-subtype. Only the value of the <code>fields</code> that corresponds to
-<code>tags[row]</code> is set.</p>
-
-<pre><code class="language-java">public class UnionColumnVector extends ColumnVector {
- public int[] tags;
- public ColumnVector[] fields;
- ...
-}
-</code></pre>
-
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ListColumnVector.html">ListColumnVector</a>
+integers that pick the subtype and a <code class="highlighter-rouge">fields</code> array one per a
+subtype. Only the value of the <code class="highlighter-rouge">fields</code> that corresponds to
+<code class="highlighter-rouge">tags[row]</code> is set.</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">UnionColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">int</span><span class="o">[]</span> <span class="n">tags</span><span class="o">;</span>
+ <span class="kd">public</span> <span class="n">ColumnVector</span><span class="o">[]</span> <span class="n">fields</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
+
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/ListColumnVector.html">ListColumnVector</a>
handles the array columns and represents the data as two arrays of
-integers for the offset and lengths and a <code>ColumnVector</code> for the
+integers for the offset and lengths and a <code class="highlighter-rouge">ColumnVector</code> for the
children values.</p>
-<pre><code class="language-java">public class ListColumnVector extends ColumnVector {
- // for each row, the first offset of the child
- public long[] offsets;
- // for each row, the number of elements in the array
- public long[] lengths;
- // the offset in the child that should be used for new values
- public int childCount;
-
- // the values of the children
- public ColumnVector child;
- ...
-}
-</code></pre>
-
-<p><a href="/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/MapColumnVector.html">MapColumnVector</a>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">ListColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="c1">// for each row, the first offset of the child</span>
+ <span class="kd">public</span> <span class="kt">long</span><span class="o">[]</span> <span class="n">offsets</span><span class="o">;</span>
+ <span class="c1">// for each row, the number of elements in the array</span>
+ <span class="kd">public</span> <span class="kt">long</span><span class="o">[]</span> <span class="n">lengths</span><span class="o">;</span>
+ <span class="c1">// the offset in the child that should be used for new values</span>
+ <span class="kd">public</span> <span class="kt">int</span> <span class="n">childCount</span><span class="o">;</span>
+
+ <span class="c1">// the values of the children</span>
+ <span class="kd">public</span> <span class="n">ColumnVector</span> <span class="n">child</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
+
+<p><a href="http://localhost:4000/api/hive-storage-api/index.html?org/apache/hadoop/hive/ql/exec/vector/MapColumnVector.html">MapColumnVector</a>
handles the map columns and represents the data as two arrays of
-integers for the offset and lengths and two <code>ColumnVector</code>s for the
+integers for the offset and lengths and two <code class="highlighter-rouge">ColumnVector</code>s for the
keys and values.</p>
-<pre><code class="language-java">public class MapColumnVector extends ColumnVector {
- // for each row, the first offset of the child
- public long[] offsets;
- // for each row, the number of elements in the array
- public long[] lengths;
- // the offset in the child that should be used for new values
- public int childCount;
-
- // the values of the keys and values
- public ColumnVector keys;
- public ColumnVector values;
- ...
-}
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MapColumnVector</span> <span class="kd">extends</span> <span class="n">ColumnVector</span> <span class="o">{</span>
+ <span class="c1">// for each row, the first offset of the child</span>
+ <span class="kd">public</span> <span class="kt">long</span><span class="o">[]</span> <span class="n">offsets</span><span class="o">;</span>
+ <span class="c1">// for each row, the number of elements in the array</span>
+ <span class="kd">public</span> <span class="kt">long</span><span class="o">[]</span> <span class="n">lengths</span><span class="o">;</span>
+ <span class="c1">// the offset in the child that should be used for new values</span>
+ <span class="kd">public</span> <span class="kt">int</span> <span class="n">childCount</span><span class="o">;</span>
+
+ <span class="c1">// the values of the keys and values</span>
+ <span class="kd">public</span> <span class="n">ColumnVector</span> <span class="n">keys</span><span class="o">;</span>
+ <span class="kd">public</span> <span class="n">ColumnVector</span> <span class="n">values</span><span class="o">;</span>
+ <span class="o">...</span>
+<span class="o">}</span>
+</code></pre></div></div>
<h2 id="writing-orc-files">Writing ORC Files</h2>
<h3 id="simple-example">Simple Example</h3>
<p>To write an ORC file, you need to define the schema and use the
-<a href="/api/orc-core/index.html?org/apache/orc/OrcFile.html">OrcFile</a>
+<a href="http://localhost:4000/api/orc-core/index.html?org/apache/orc/OrcFile.html">OrcFile</a>
class to create a
-<a href="/api/orc-core/index.html?org/apache/orc/Writer.html">Writer</a>
+<a href="http://localhost:4000/api/orc-core/index.html?org/apache/orc/Writer.html">Writer</a>
with the desired filename. This example sets the required schema
parameter, but there are many other options to control the ORC writer.</p>
-<pre><code class="language-java">Configuration conf = new Configuration();
-TypeDescription schema = TypeDescription.fromString("struct<x:int,y:int>");
-Writer writer = OrcFile.createWriter(new Path("my-file.orc"),
- OrcFile.writerOptions(conf)
- .setSchema(schema));
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Configuration</span> <span class="n">conf</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Configuration</span><span class="o">();</span>
+<span class="n">TypeDescription</span> <span class="n">schema</span> <span class="o">=</span> <span class="n">TypeDescription</span><span class="o">.</span><span class="na">fromString</span><span class="o">(</span><span class="s">"struct<x:int,y:int>"</span><span class="o">);</span>
+<span class="n">Writer</span> <span class="n">writer</span> <span class="o">=</span> <span class="n">OrcFile</span><span class="o">.</span><span class="na">createWriter</span><span class="o">(</span><span class="k">new</span> <span class="n">Path</span><span class="o">(</span><span class="s">"my-file.orc"</span><span class="o">),</span>
+ <span class="n">OrcFile</span><span class="o">.</span><span class="na">writerOptions</span><span class="o">(</span><span class="n">conf</span><span class="o">)</span>
+ <span class="o">.</span><span class="na">setSchema</span><span class="o">(</span><span class="n">schema</span><span class="o">));</span>
+</code></pre></div></div>
<p>Now you need to create a row batch, set the data, and write it to the file
-as the batch fills up. When the file is done, close the <code>Writer</code>.</p>
-
-<pre><code class="language-java">VectorizedRowBatch batch = schema.createRowBatch();
-LongColumnVector x = (LongColumnVector) batch.cols[0];
-LongColumnVector y = (LongColumnVector) batch.cols[1];
-for(int r=0; r < 10000; ++r) {
- int row = batch.size++;
- x.vector[row] = r;
- y.vector[row] = r * 3;
- // If the batch is full, write it out and start over.
- if (batch.size == batch.getMaxSize()) {
- writer.addRowBatch(batch);
- batch.reset();
- }
-}
-if (batch.size != 0) {
- writer.addRowBatch(batch);
- batch.reset();
-}
-writer.close();
-</code></pre>
+as the batch fills up. When the file is done, close the <code class="highlighter-rouge">Writer</code>.</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">VectorizedRowBatch</span> <span class="n">batch</span> <span class="o">=</span> <span class="n">schema</span><span class="o">.</span><span class="na">createRowBatch</span><span class="o">();</span>
+<span class="n">LongColumnVector</span> <span class="n">x</span> <span class="o">=</span> <span class="o">(</span><span class="n">LongColumnVector</span><span class="o">)</span> <span class="n">batch</span><span class="o">.</span><span class="na">cols</span><span class="o">[</span><span class="mi">0</span><span class="o">];</span>
+<span class="n">LongColumnVector</span> <span class="n">y</span> <span class="o">=</span> <span class="o">(</span><span class="n">LongColumnVector</span><span class="o">)</span> <span class="n">batch</span><span class="o">.</span><span class="na">cols</span><span class="o">[</span><span class="mi">1</span><span class="o">];</span>
+<span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">r</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span> <span class="n">r</span> <span class="o"><</span> <span class="mi">10000</span><span class="o">;</span> <span class="o">++</span><span class="n">r</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kt">int</span> <span class="n">row</span> <span class="o">=</span> <span class="n">batch</span><span class="o">.</span><span class="na">size</span><span class="o">++;</span>
+ <span class="n">x</span><span class="o">.</span><span class="na">vector</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">=</span> <span class="n">r</span><span class="o">;</span>
+ <span class="n">y</span><span class="o">.</span><span class="na">vector</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">=</span> <span class="n">r</span> <span class="o">*</span> <span class="mi">3</span><span class="o">;</span>
+ <span class="c1">// If the batch is full, write it out and start over.</span>
+ <span class="k">if</span> <span class="o">(</span><span class="n">batch</span><span class="o">.</span><span class="na">size</span> <span class="o">==</span> <span class="n">batch</span><span class="o">.</span><span class="na">getMaxSize</span><span class="o">())</span> <span class="o">{</span>
+ <span class="n">writer</span><span class="o">.</span><span class="na">addRowBatch</span><span class="o">(</span><span class="n">batch</span><span class="o">);</span>
+ <span class="n">batch</span><span class="o">.</span><span class="na">reset</span><span class="o">();</span>
+ <span class="o">}</span>
+<span class="o">}</span>
+<span class="k">if</span> <span class="o">(</span><span class="n">batch</span><span class="o">.</span><span class="na">size</span> <span class="o">!=</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
+ <span class="n">writer</span><span class="o">.</span><span class="na">addRowBatch</span><span class="o">(</span><span class="n">batch</span><span class="o">);</span>
+ <span class="n">batch</span><span class="o">.</span><span class="na">reset</span><span class="o">();</span>
+<span class="o">}</span>
+<span class="n">writer</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
+</code></pre></div></div>
<h3 id="advanced-example">Advanced Example</h3>
@@ -975,99 +975,99 @@ writer.close();
columns and a map column. Each row’s map has 5 elements with keys
ranging from “<row>.0” to “<row>.4”.</p>
-<pre><code class="language-java">Path testFilePath = new Path("advanced-example.orc");
-Configuration conf = new Configuration();
-
-TypeDescription schema =
- TypeDescription.fromString("struct<first:int," +
- "second:int,third:map<string,int>>");
-
-Writer writer =
- OrcFile.createWriter(testFilePath,
- OrcFile.writerOptions(conf).setSchema(schema));
-
-VectorizedRowBatch batch = schema.createRowBatch();
-LongColumnVector first = (LongColumnVector) batch.cols[0];
-LongColumnVector second = (LongColumnVector) batch.cols[1];
-
-//Define map. You need also to cast the key and value vectors
-MapColumnVector map = (MapColumnVector) batch.cols[2];
-BytesColumnVector mapKey = (BytesColumnVector) map.keys;
-LongColumnVector mapValue = (LongColumnVector) map.values;
-
-// Each map has 5 elements
-final int MAP_SIZE = 5;
-final int BATCH_SIZE = batch.getMaxSize();
-
-// Ensure the map is big enough
-mapKey.ensureSize(BATCH_SIZE * MAP_SIZE, false);
-mapValue.ensureSize(BATCH_SIZE * MAP_SIZE, false);
-
-// add 1500 rows to file
-for(int r=0; r < 1500; ++r) {
- int row = batch.size++;
-
- first.vector[row] = r;
- second.vector[row] = r * 3;
-
- map.offsets[row] = map.childCount;
- map.lengths[row] = MAP_SIZE;
- map.childCount += MAP_SIZE;
-
- for (int mapElem = (int) map.offsets[row];
- mapElem < map.offsets[row] + MAP_SIZE; ++mapElem) {
- String key = "row " + r + "." + (mapElem - map.offsets[row]);
- mapKey.setVal(mapElem, key.getBytes(StandardCharsets.UTF_8));
- mapValue.vector[mapElem] = mapElem;
- }
- if (row == BATCH_SIZE - 1) {
- writer.addRowBatch(batch);
- batch.reset();
- }
-}
-if (batch.size != 0) {
- writer.addRowBatch(batch);
- batch.reset();
-}
-writer.close();
-
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Path</span> <span class="n">testFilePath</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Path</span><span class="o">(</span><span class="s">"advanced-example.orc"</span><span class="o">);</span>
+<span class="n">Configuration</span> <span class="n">conf</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Configuration</span><span class="o">();</span>
+
+<span class="n">TypeDescription</span> <span class="n">schema</span> <span class="o">=</span>
+ <span class="n">TypeDescription</span><span class="o">.</span><span class="na">fromString</span><span class="o">(</span><span class="s">"struct<first:int,"</span> <span class="o">+</span>
+ <span class="s">"second:int,third:map<string,int>>"</span><span class="o">);</span>
+
+<span class="n">Writer</span> <span class="n">writer</span> <span class="o">=</span>
+ <span class="n">OrcFile</span><span class="o">.</span><span class="na">createWriter</span><span class="o">(</span><span class="n">testFilePath</span><span class="o">,</span>
+ <span class="n">OrcFile</span><span class="o">.</span><span class="na">writerOptions</span><span class="o">(</span><span class="n">conf</span><span class="o">).</span><span class="na">setSchema</span><span class="o">(</span><span class="n">schema</span><span class="o">));</span>
+
+<span class="n">VectorizedRowBatch</span> <span class="n">batch</span> <span class="o">=</span> <span class="n">schema</span><span class="o">.</span><span class="na">createRowBatch</span><span class="o">();</span>
+<span class="n">LongColumnVector</span> <span class="n">first</span> <span class="o">=</span> <span class="o">(</span><span class="n">LongColumnVector</span><span class="o">)</span> <span class="n">batch</span><span class="o">.</span><span class="na">cols</span><span class="o">[</span><span class="mi">0</span><span class="o">];</span>
+<span class="n">LongColumnVector</span> <span class="n">second</span> <span class="o">=</span> <span class="o">(</span><span class="n">LongColumnVector</span><span class="o">)</span> <span class="n">batch</span><span class="o">.</span><span class="na">cols</span><span class="o">[</span><span class="mi">1</span><span class="o">];</span>
+
+<span class="c1">//Define map. You need also to cast the key and value vectors</span>
+<span class="n">MapColumnVector</span> <span class="n">map</span> <span class="o">=</span> <span class="o">(</span><span class="n">MapColumnVector</span><span class="o">)</span> <span class="n">batch</span><span class="o">.</span><span class="na">cols</span><span class="o">[</span><span class="mi">2</span><span class="o">];</span>
+<span class="n">BytesColumnVector</span> <span class="n">mapKey</span> <span class="o">=</span> <span class="o">(</span><span class="n">BytesColumnVector</span><span class="o">)</span> <span class="n">map</span><span class="o">.</span><span class="na">keys</span><span class="o">;</span>
+<span class="n">LongColumnVector</span> <span class="n">mapValue</span> <span class="o">=</span> <span class="o">(</span><span class="n">LongColumnVector</span><span class="o">)</span> <span class="n">map</span><span class="o">.</span><span class="na">values</span><span class="o">;</span>
+
+<span class="c1">// Each map has 5 elements</span>
+<span class="kd">final</span> <span class="kt">int</span> <span class="n">MAP_SIZE</span> <span class="o">=</span> <span class="mi">5</span><span class="o">;</span>
+<span class="kd">final</span> <span class="kt">int</span> <span class="n">BATCH_SIZE</span> <span class="o">=</span> <span class="n">batch</span><span class="o">.</span><span class="na">getMaxSize</span><span class="o">();</span>
+
+<span class="c1">// Ensure the map is big enough</span>
+<span class="n">mapKey</span><span class="o">.</span><span class="na">ensureSize</span><span class="o">(</span><span class="n">BATCH_SIZE</span> <span class="o">*</span> <span class="n">MAP_SIZE</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
+<span class="n">mapValue</span><span class="o">.</span><span class="na">ensureSize</span><span class="o">(</span><span class="n">BATCH_SIZE</span> <span class="o">*</span> <span class="n">MAP_SIZE</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
+
+<span class="c1">// add 1500 rows to file</span>
+<span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">r</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span> <span class="n">r</span> <span class="o"><</span> <span class="mi">1500</span><span class="o">;</span> <span class="o">++</span><span class="n">r</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kt">int</span> <span class="n">row</span> <span class="o">=</span> <span class="n">batch</span><span class="o">.</span><span class="na">size</span><span class="o">++;</span>
+
+ <span class="n">first</span><span class="o">.</span><span class="na">vector</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">=</span> <span class="n">r</span><span class="o">;</span>
+ <span class="n">second</span><span class="o">.</span><span class="na">vector</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">=</span> <span class="n">r</span> <span class="o">*</span> <span class="mi">3</span><span class="o">;</span>
+
+ <span class="n">map</span><span class="o">.</span><span class="na">offsets</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">=</span> <span class="n">map</span><span class="o">.</span><span class="na">childCount</span><span class="o">;</span>
+ <span class="n">map</span><span class="o">.</span><span class="na">lengths</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">=</span> <span class="n">MAP_SIZE</span><span class="o">;</span>
+ <span class="n">map</span><span class="o">.</span><span class="na">childCount</span> <span class="o">+=</span> <span class="n">MAP_SIZE</span><span class="o">;</span>
+
+ <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">mapElem</span> <span class="o">=</span> <span class="o">(</span><span class="kt">int</span><span class="o">)</span> <span class="n">map</span><span class="o">.</span><span class="na">offsets</span><span class="o">[</span><span class="n">row</span><span class="o">];</span>
+ <span class="n">mapElem</span> <span class="o"><</span> <span class="n">map</span><span class="o">.</span><span class="na">offsets</span><span class="o">[</span><span class="n">row</span><span class="o">]</span> <span class="o">+</span> <span class="n">MAP_SIZE</span><span class="o">;</span> <span class="o">++</span><span class="n">mapElem</span><span class="o">)</span> <span class="o">{</span>
+ <span class="n">String</span> <span class="n">key</span> <span class="o">=</span> <span class="s">"row "</span> <span class="o">+</span> <span class="n">r</span> <span class="o">+</span> <span class="s">"."</span> <span class="o">+</span> <span class="o">(</span><span class="n">mapElem</span> <span class="o">-</span> <span class="n">map</span><span class="o">.</span><span class="na">offsets</span><span class="o">[</span><span class="n">row</span><span class="o">]);</span>
+ <span class="n">mapKey</span><span class="o">.</span><span class="na">setVal</span><span class="o">(</span><span class="n">mapElem</span><span class="o">,</span> <span class="n">key</span><span class="o">.</span><span class="na">getBytes</span><span class="o">(</span><span class="n">StandardCharsets</span><span class="o">.</span><span class="na">UTF_8</span><span class="o">));</span>
+ <span class="n">mapValue</span><span class="o">.</span><span class="na">vector</span><span class="o">[</span><span class="n">mapElem</span><span class="o">]</span> <span class="o">=</span> <span class="n">mapElem</span><span class="o">;</span>
+ <span class="o">}</span>
+ <span class="k">if</span> <span class="o">(</span><span class="n">row</span> <span class="o">==</span> <span class="n">BATCH_SIZE</span> <span class="o">-</span> <span class="mi">1</span><span class="o">)</span> <span class="o">{</span>
+ <span class="n">writer</span><span class="o">.</span><span class="na">addRowBatch</span><span class="o">(</span><span class="n">batch</span><span class="o">);</span>
+ <span class="n">batch</span><span class="o">.</span><span class="na">reset</span><span class="o">();</span>
+ <span class="o">}</span>
+<span class="o">}</span>
+<span class="k">if</span> <span class="o">(</span><span class="n">batch</span><span class="o">.</span><span class="na">size</span> <span class="o">!=</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
+ <span class="n">writer</span><span class="o">.</span><span class="na">addRowBatch</span><span class="o">(</span><span class="n">batch</span><span class="o">);</span>
+ <span class="n">batch</span><span class="o">.</span><span class="na">reset</span><span class="o">();</span>
+<span class="o">}</span>
+<span class="n">writer</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
+
+</code></pre></div></div>
<h2 id="reading-orc-files">Reading ORC Files</h2>
<p>To read ORC files, use the
-<a href="/api/orc-core/index.html?org/apache/orc/OrcFile.html">OrcFile</a>
+<a href="http://localhost:4000/api/orc-core/index.html?org/apache/orc/OrcFile.html">OrcFile</a>
class to create a
-<a href="/api/orc-core/index.html?org/apache/orc/Reader.html">Reader</a>
+<a href="http://localhost:4000/api/orc-core/index.html?org/apache/orc/Reader.html">Reader</a>
that contains the metadata about the file. There are a few options to
the ORC reader, but far fewer than the writer and none of them are
required. The reader has methods for getting the number of rows,
schema, compression, etc. from the file.</p>
-<pre><code class="language-java">Reader reader = OrcFile.createReader(new Path("my-file.orc"),
- OrcFile.readerOptions(conf));
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Reader</span> <span class="n">reader</span> <span class="o">=</span> <span class="n">OrcFile</span><span class="o">.</span><span class="na">createReader</span><span class="o">(</span><span class="k">new</span> <span class="n">Path</span><span class="o">(</span><span class="s">"my-file.orc"</span><span class="o">),</span>
+ <span class="n">OrcFile</span><span class="o">.</span><span class="na">readerOptions</span><span class="o">(</span><span class="n">conf</span><span class="o">));</span>
+</code></pre></div></div>
<p>To get the data, create a
-<a href="/api/orc-core/index.html?org/apache/orc/RecordReader.html">RecordReader</a>
+<a href="http://localhost:4000/api/orc-core/index.html?org/apache/orc/RecordReader.html">RecordReader</a>
object. By default, the RecordReader reads all rows and all columns,
but there are options to control the data that is read.</p>
-<pre><code class="language-java">RecordReader rows = reader.rows();
-VectorizedRowBatch batch = reader.getSchema().createRowBatch();
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">RecordReader</span> <span class="n">rows</span> <span class="o">=</span> <span class="n">reader</span><span class="o">.</span><span class="na">rows</span><span class="o">();</span>
+<span class="n">VectorizedRowBatch</span> <span class="n">batch</span> <span class="o">=</span> <span class="n">reader</span><span class="o">.</span><span class="na">getSchema</span><span class="o">().</span><span class="na">createRowBatch</span><span class="o">();</span>
+</code></pre></div></div>
-<p>With a <code>RecordReader</code> the user can ask for the next batch until there
+<p>With a <code class="highlighter-rouge">RecordReader</code> the user can ask for the next batch until there
are no more left. The reader will stop the batch at certain boundaries, so the
returned batch may not be full, but it will always contain some rows.</p>
-<pre><code class="language-java">while (rows.nextBatch(batch)) {
- for(int r=0; r < batch.size; ++r) {
- ... process row r from batch
- }
-}
-rows.close();
-</code></pre>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">while</span> <span class="o">(</span><span class="n">rows</span><span class="o">.</span><span class="na">nextBatch</span><span class="o">(</span><span class="n">batch</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">r</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span> <span class="n">r</span> <span class="o"><</span> <span class="n">batch</span><span class="o">.</span><span class="na">size</span><span class="o">;</span> <span class="o">++</span><span class="n">r</span><span class="o">)</span> <span class="o">{</span>
+ <span class="o">...</span> <span class="n">process</span> <span class="n">row</span> <span class="n">r</span> <span class="n">from</span> <span class="n">batch</span>
+ <span class="o">}</span>
+<span class="o">}</span>
+<span class="n">rows</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
+</code></pre></div></div>
@@ -1143,8 +1143,6 @@ rows.close();
-
-
@@ -1164,29 +1162,25 @@ rows.close();
- <li class=""><a href="/docs/index.html">Background</a></li>
+ <li class=""><a href="http://localhost:4000/docs/index.html">Background</a></li>
-
-
- <li class=""><a href="/docs/adopters.html">ORC Adopters</a></li>
+ <li class=""><a href="http://localhost:4000/docs/adopters.html">ORC Adopters</a></li>
-
-
@@ -1218,15 +1212,13 @@ rows.close();
- <li class=""><a href="/docs/types.html">Types</a></li>
+ <li class=""><a href="http://localhost:4000/docs/types.html">Types</a></li>
-
-
@@ -1248,19 +1240,17 @@ rows.close();
- <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+ <li class=""><a href="http://localhost:4000/docs/indexes.html">Indexes</a></li>
-
-
- <li class=""><a href="/docs/acid.html">ACID support</a></li>
+ <li class=""><a href="http://localhost:4000/docs/acid.html">ACID support</a></li>
@@ -1275,8 +1265,6 @@ rows.close();
-
-
@@ -1284,15 +1272,13 @@ rows.close();
- <li class=""><a href="/docs/building.html">Building ORC</a></li>
+ <li class=""><a href="http://localhost:4000/docs/building.html">Building ORC</a></li>
-
-
@@ -1322,7 +1308,7 @@ rows.close();
- <li class=""><a href="/docs/releases.html">Releases</a></li>
+ <li class=""><a href="http://localhost:4000/docs/releases.html">Releases</a></li>
@@ -1337,8 +1323,6 @@ rows.close();
-
-
@@ -1356,15 +1340,13 @@ rows.close();
- <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+ <li class=""><a href="http://localhost:4000/docs/hive-ddl.html">Hive DDL</a></li>
-
-
@@ -1380,7 +1362,7 @@ rows.close();
- <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+ <li class=""><a href="http://localhost:4000/docs/hive-config.html">Hive Configuration</a></li>
@@ -1395,8 +1377,6 @@ rows.close();
-
-
@@ -1422,15 +1402,13 @@ rows.close();
- <li class=""><a href="/docs/mapred.html">Using in MapRed</a></li>
+ <li class=""><a href="http://localhost:4000/docs/mapred.html">Using in MapRed</a></li>
-
-
@@ -1458,7 +1436,7 @@ rows.close();
- <li class=""><a href="/docs/mapreduce.html">Using in MapReduce</a></li>
+ <li class=""><a href="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</a></li>
@@ -1473,8 +1451,6 @@ rows.close();
-
-
@@ -1486,15 +1462,13 @@ rows.close();
- <li class="current"><a href="/docs/core-java.html">Using Core Java</a></li>
+ <li class="current"><a href="http://localhost:4000/docs/core-java.html">Using Core Java</a></li>
-
-
@@ -1504,7 +1478,7 @@ rows.close();
- <li class=""><a href="/docs/core-cpp.html">Using Core C++</a></li>
+ <li class=""><a href="http://localhost:4000/docs/core-cpp.html">Using Core C++</a></li>
@@ -1519,8 +1493,6 @@ rows.close();
-
-
@@ -1534,15 +1506,13 @@ rows.close();
- <li class=""><a href="/docs/cpp-tools.html">C++ Tools</a></li>
+ <li class=""><a href="http://localhost:4000/docs/cpp-tools.html">C++ Tools</a></li>
-
-
@@ -1566,7 +1536,7 @@ rows.close();
- <li class=""><a href="/docs/java-tools.html">Java Tools</a></li>
+ <li class=""><a href="http://localhost:4000/docs/java-tools.html">Java Tools</a></li>
http://git-wip-us.apache.org/repos/asf/orc/blob/e58d3fc4/docs/cpp-tools.html
----------------------------------------------------------------------
diff --git a/docs/cpp-tools.html b/docs/cpp-tools.html
index abe6e2e..4b8d0d2 100644
--- a/docs/cpp-tools.html
+++ b/docs/cpp-tools.html
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>C++ Tools</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
- <meta name="generator" content="Jekyll v2.4.0">
+ <meta name="generator" content="Jekyll v3.7.3">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
<link rel="stylesheet" href="/css/screen.css">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
@@ -109,7 +109,7 @@
- <option value="/docs/index.html">Background</option>
+ <option value="http://localhost:4000/docs/index.html">Background</option>
@@ -131,7 +131,7 @@
- <option value="/docs/adopters.html">ORC Adopters</option>
+ <option value="http://localhost:4000/docs/adopters.html">ORC Adopters</option>
@@ -193,7 +193,7 @@
- <option value="/docs/types.html">Types</option>
+ <option value="http://localhost:4000/docs/types.html">Types</option>
@@ -219,7 +219,7 @@
- <option value="/docs/indexes.html">Indexes</option>
+ <option value="http://localhost:4000/docs/indexes.html">Indexes</option>
@@ -237,7 +237,7 @@
- <option value="/docs/acid.html">ACID support</option>
+ <option value="http://localhost:4000/docs/acid.html">ACID support</option>
@@ -284,7 +284,7 @@
- <option value="/docs/building.html">Building ORC</option>
+ <option value="http://localhost:4000/docs/building.html">Building ORC</option>
@@ -342,7 +342,7 @@
- <option value="/docs/releases.html">Releases</option>
+ <option value="http://localhost:4000/docs/releases.html">Releases</option>
@@ -373,7 +373,7 @@
- <option value="/docs/hive-ddl.html">Hive DDL</option>
+ <option value="http://localhost:4000/docs/hive-ddl.html">Hive DDL</option>
@@ -407,7 +407,7 @@
- <option value="/docs/hive-config.html">Hive Configuration</option>
+ <option value="http://localhost:4000/docs/hive-config.html">Hive Configuration</option>
@@ -460,7 +460,7 @@
- <option value="/docs/mapred.html">Using in MapRed</option>
+ <option value="http://localhost:4000/docs/mapred.html">Using in MapRed</option>
@@ -498,7 +498,7 @@
- <option value="/docs/mapreduce.html">Using in MapReduce</option>
+ <option value="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</option>
@@ -525,7 +525,7 @@
- <option value="/docs/core-java.html">Using Core Java</option>
+ <option value="http://localhost:4000/docs/core-java.html">Using Core Java</option>
@@ -559,7 +559,7 @@
- <option value="/docs/core-cpp.html">Using Core C++</option>
+ <option value="http://localhost:4000/docs/core-cpp.html">Using Core C++</option>
@@ -606,7 +606,7 @@
- <option value="/docs/cpp-tools.html">C++ Tools</option>
+ <option value="http://localhost:4000/docs/cpp-tools.html">C++ Tools</option>
@@ -652,7 +652,7 @@
- <option value="/docs/java-tools.html">Java Tools</option>
+ <option value="http://localhost:4000/docs/java-tools.html">Java Tools</option>
@@ -677,143 +677,143 @@
<h2 id="orc-contents">orc-contents</h2>
<p>Displays the contents of the ORC file as a JSON document. With the
-<code>columns</code> argument only the selected columns are printed.</p>
+<code class="highlighter-rouge">columns</code> argument only the selected columns are printed.</p>
-<pre><code class="language-shell">% orc-contents [--columns=1,2,...] <filename>
-</code></pre>
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-contents <span class="o">[</span><span class="nt">--columns</span><span class="o">=</span>1,2,...] <filename>
+</code></pre></div></div>
<p>If you run it on the example file TestOrcFile.test1.orc, you’ll see (without
the line breaks within each record):</p>
-<pre><code class="language-shell">% orc-contents examples/TestOrcFile.test1.orc
-{"boolean1": false, "byte1": 1, "short1": 1024, "int1": 65536, \\
- "long1": 9223372036854775807, "float1": 1, "double1": -15, \\
- "bytes1": [0, 1, 2, 3, 4], "string1": "hi", "middle": \\
- {"list": [{"int1": 1, "string1": "bye"}, \\
- {"int1": 2, "string1": "sigh"}]}, \\
- "list": [{"int1": 3, "string1": "good"}, \\
- {"int1": 4, "string1": "bad"}], \\
- "map": []}
-{"boolean1": true, "byte1": 100, "short1": 2048, "int1": 65536,
- "long1": 9223372036854775807, "float1": 2, "double1": -5, \\
- "bytes1": [], "string1": "bye", \\
- "middle": {"list": [{"int1": 1, "string1": "bye"}, \\
- {"int1": 2, "string1": "sigh"}]}, \\
- "list": [{"int1": 100000000, "string1": "cat"}, \\
- {"int1": -100000, "string1": "in"}, \\
- {"int1": 1234, "string1": "hat"}], \\
- "map": [{"key": "chani", "value": {"int1": 5, "string1": "chani"}}, \\
- {"key": "mauddib", \\
- "value": {"int1": 1, "string1": "mauddib"}}]}
-</code></pre>
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-contents examples/TestOrcFile.test1.orc
+<span class="o">{</span><span class="s2">"boolean1"</span>: <span class="nb">false</span>, <span class="s2">"byte1"</span>: 1, <span class="s2">"short1"</span>: 1024, <span class="s2">"int1"</span>: 65536, <span class="se">\\</span>
+ <span class="s2">"long1"</span>: 9223372036854775807, <span class="s2">"float1"</span>: 1, <span class="s2">"double1"</span>: <span class="nt">-15</span>, <span class="se">\\</span>
+ <span class="s2">"bytes1"</span>: <span class="o">[</span>0, 1, 2, 3, 4], <span class="s2">"string1"</span>: <span class="s2">"hi"</span>, <span class="s2">"middle"</span>: <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"list"</span>: <span class="o">[{</span><span class="s2">"int1"</span>: 1, <span class="s2">"string1"</span>: <span class="s2">"bye"</span><span class="o">}</span>, <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"int1"</span>: 2, <span class="s2">"string1"</span>: <span class="s2">"sigh"</span><span class="o">}]}</span>, <span class="se">\\</span>
+ <span class="s2">"list"</span>: <span class="o">[{</span><span class="s2">"int1"</span>: 3, <span class="s2">"string1"</span>: <span class="s2">"good"</span><span class="o">}</span>, <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"int1"</span>: 4, <span class="s2">"string1"</span>: <span class="s2">"bad"</span><span class="o">}]</span>, <span class="se">\\</span>
+ <span class="s2">"map"</span>: <span class="o">[]}</span>
+<span class="o">{</span><span class="s2">"boolean1"</span>: <span class="nb">true</span>, <span class="s2">"byte1"</span>: 100, <span class="s2">"short1"</span>: 2048, <span class="s2">"int1"</span>: 65536,
+ <span class="s2">"long1"</span>: 9223372036854775807, <span class="s2">"float1"</span>: 2, <span class="s2">"double1"</span>: <span class="nt">-5</span>, <span class="se">\\</span>
+ <span class="s2">"bytes1"</span>: <span class="o">[]</span>, <span class="s2">"string1"</span>: <span class="s2">"bye"</span>, <span class="se">\\</span>
+ <span class="s2">"middle"</span>: <span class="o">{</span><span class="s2">"list"</span>: <span class="o">[{</span><span class="s2">"int1"</span>: 1, <span class="s2">"string1"</span>: <span class="s2">"bye"</span><span class="o">}</span>, <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"int1"</span>: 2, <span class="s2">"string1"</span>: <span class="s2">"sigh"</span><span class="o">}]}</span>, <span class="se">\\</span>
+ <span class="s2">"list"</span>: <span class="o">[{</span><span class="s2">"int1"</span>: 100000000, <span class="s2">"string1"</span>: <span class="s2">"cat"</span><span class="o">}</span>, <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"int1"</span>: <span class="nt">-100000</span>, <span class="s2">"string1"</span>: <span class="s2">"in"</span><span class="o">}</span>, <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"int1"</span>: 1234, <span class="s2">"string1"</span>: <span class="s2">"hat"</span><span class="o">}]</span>, <span class="se">\\</span>
+ <span class="s2">"map"</span>: <span class="o">[{</span><span class="s2">"key"</span>: <span class="s2">"chani"</span>, <span class="s2">"value"</span>: <span class="o">{</span><span class="s2">"int1"</span>: 5, <span class="s2">"string1"</span>: <span class="s2">"chani"</span><span class="o">}}</span>, <span class="se">\\</span>
+ <span class="o">{</span><span class="s2">"key"</span>: <span class="s2">"mauddib"</span>, <span class="se">\\</span>
+ <span class="s2">"value"</span>: <span class="o">{</span><span class="s2">"int1"</span>: 1, <span class="s2">"string1"</span>: <span class="s2">"mauddib"</span><span class="o">}}]}</span>
+</code></pre></div></div>
<h2 id="orc-metadata">orc-metadata</h2>
<p>Displays the metadata of the ORC file as a JSON document. With the
-<code>verbose</code> option additional information about the layout of the file
+<code class="highlighter-rouge">verbose</code> option additional information about the layout of the file
is also printed.</p>
<p>For diagnosing problems, it is useful to use the ‘–raw’ option that
prints the protocol buffers from the ORC file directly rather than
interpreting them.</p>
-<pre><code class="language-shell">% orc-metadata [-v] [--raw] <filename>
-</code></pre>
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-metadata <span class="o">[</span><span class="nt">-v</span><span class="o">]</span> <span class="o">[</span><span class="nt">--raw</span><span class="o">]</span> <filename>
+</code></pre></div></div>
<p>If you run it on the example file TestOrcFile.test1.orc, you’ll see:</p>
-<pre><code class="language-shell">% orc-metadata examples/TestOrcFile.test1.orc
-{ "name": "../examples/TestOrcFile.test1.orc",
- "type": "struct<boolean1:boolean,byte1:tinyint,short1:smallint,
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-metadata examples/TestOrcFile.test1.orc
+<span class="o">{</span> <span class="s2">"name"</span>: <span class="s2">"../examples/TestOrcFile.test1.orc"</span>,
+ <span class="s2">"type"</span>: <span class="s2">"struct<boolean1:boolean,byte1:tinyint,short1:smallint,
int1:int,long1:bigint,float1:float,double1:double,bytes1:binary,
string1:string,middle:struct<list:array<struct<int1:int,string1:
string>>>,list:array<struct<int1:int,string1:string>>,map:map<
-string,struct<int1:int,string1:string>>>",
- "rows": 2,
- "stripe count": 1,
- "format": "0.12", "writer version": "HIVE-8732",
- "compression": "zlib", "compression block": 10000,
- "file length": 1711,
- "content": 1015, "stripe stats": 250, "footer": 421, "postscript": 24,
- "row index stride": 10000,
- "user metadata": {
- },
- "stripes": [
- { "stripe": 0, "rows": 2,
- "offset": 3, "length": 1012,
- "index": 570, "data": 243, "footer": 199
- }
- ]
-}
-</code></pre>
+string,struct<int1:int,string1:string>>>"</span>,
+ <span class="s2">"rows"</span>: 2,
+ <span class="s2">"stripe count"</span>: 1,
+ <span class="s2">"format"</span>: <span class="s2">"0.12"</span>, <span class="s2">"writer version"</span>: <span class="s2">"HIVE-8732"</span>,
+ <span class="s2">"compression"</span>: <span class="s2">"zlib"</span>, <span class="s2">"compression block"</span>: 10000,
+ <span class="s2">"file length"</span>: 1711,
+ <span class="s2">"content"</span>: 1015, <span class="s2">"stripe stats"</span>: 250, <span class="s2">"footer"</span>: 421, <span class="s2">"postscript"</span>: 24,
+ <span class="s2">"row index stride"</span>: 10000,
+ <span class="s2">"user metadata"</span>: <span class="o">{</span>
+ <span class="o">}</span>,
+ <span class="s2">"stripes"</span>: <span class="o">[</span>
+ <span class="o">{</span> <span class="s2">"stripe"</span>: 0, <span class="s2">"rows"</span>: 2,
+ <span class="s2">"offset"</span>: 3, <span class="s2">"length"</span>: 1012,
+ <span class="s2">"index"</span>: 570, <span class="s2">"data"</span>: 243, <span class="s2">"footer"</span>: 199
+ <span class="o">}</span>
+ <span class="o">]</span>
+<span class="o">}</span>
+</code></pre></div></div>
<h2 id="csv-import">csv-import</h2>
<p>Imports CSV file into an Orc file using the specified schema.
-Compound types are not yet supported. <code>delimiter</code> option indicates
-the delimiter in the input CSV file and by default is <code>,</code>. <code>stripe</code>
-option means the stripe size and set to 128MB by default. <code>block</code>
-option is compression block size which is 64KB by default. <code>batch</code>
+Compound types are not yet supported. <code class="highlighter-rouge">delimiter</code> option indicates
+the delimiter in the input CSV file and by default is <code class="highlighter-rouge">,</code>. <code class="highlighter-rouge">stripe</code>
+option means the stripe size and set to 128MB by default. <code class="highlighter-rouge">block</code>
+option is compression block size which is 64KB by default. <code class="highlighter-rouge">batch</code>
option is by default 1024 rows for one batch.</p>
-<pre><code class="language-shell">% csv-import [--delimiter=<character>] [--stripe=<size>]
- [--block=<size>] [--batch=<size>]
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% csv-import <span class="o">[</span><span class="nt">--delimiter</span><span class="o">=</span><character>] <span class="o">[</span><span class="nt">--stripe</span><span class="o">=</span><size>]
+ <span class="o">[</span><span class="nt">--block</span><span class="o">=</span><size>] <span class="o">[</span><span class="nt">--batch</span><span class="o">=</span><size>]
<schema> <inputCSVFile> <outputORCFile>
-</code></pre>
+</code></pre></div></div>
<p>If you run it on the example file TestCSVFileImport.test10rows.csv,
you’ll see:</p>
-<pre><code class="language-shell">% csv-import "struct<a:bigint,b:string,c:double>"
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% csv-import <span class="s2">"struct<a:bigint,b:string,c:double>"</span>
examples/TestCSVFileImport.test10rows.csv /tmp/test.orc
-[2018-04-11 11:12:16] Start importing Orc file...
-[2018-04-11 11:12:16] Finish importing Orc file.
-[2018-04-11 11:12:16] Total writer elasped time: 0.001352s.
-[2018-04-11 11:12:16] Total writer CPU time: 0.001339s.
-</code></pre>
+<span class="o">[</span>2018-04-11 11:12:16] Start importing Orc file...
+<span class="o">[</span>2018-04-11 11:12:16] Finish importing Orc file.
+<span class="o">[</span>2018-04-11 11:12:16] Total writer elasped <span class="nb">time</span>: 0.001352s.
+<span class="o">[</span>2018-04-11 11:12:16] Total writer CPU <span class="nb">time</span>: 0.001339s.
+</code></pre></div></div>
<h2 id="orc-scan">orc-scan</h2>
-<p>Scans and displays the row count of the ORC file. With the <code>batch</code> option
+<p>Scans and displays the row count of the ORC file. With the <code class="highlighter-rouge">batch</code> option
to set the batch size which is 1024 rows by default. It is useful to check
if the ORC file is damaged.</p>
-<pre><code class="language-shell">% orc-scan [--batch=<size>] <filename>
-</code></pre>
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-scan <span class="o">[</span><span class="nt">--batch</span><span class="o">=</span><size>] <filename>
+</code></pre></div></div>
<p>If you run it on the example file TestOrcFile.test1.orc, you’ll see:</p>
-<pre><code class="language-shell">% orc-scan examples/TestOrcFile.test1.orc
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-scan examples/TestOrcFile.test1.orc
Rows: 2
Batches: 1
-</code></pre>
+</code></pre></div></div>
<h2 id="orc-statistics">orc-statistics</h2>
<p>Displays the file-level and stripe-level column statistics of the ORC file.
-With the <code>withIndex</code> option to include column statistics in each row group.</p>
+With the <code class="highlighter-rouge">withIndex</code> option to include column statistics in each row group.</p>
-<pre><code class="language-shell">% orc-statistics [--withIndex] <filename>
-</code></pre>
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-statistics <span class="o">[</span><span class="nt">--withIndex</span><span class="o">]</span> <filename>
+</code></pre></div></div>
<p>If you run it on the example file TestOrcFile.TestOrcFile.columnProjection.orc
you’ll see:</p>
-<pre><code class="language-shell">% orc-statistics examples/TestOrcFile.columnProjection.orc
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% orc-statistics examples/TestOrcFile.columnProjection.orc
File examples/TestOrcFile.columnProjection.orc has 3 columns
-*** Column 0 ***
+<span class="k">***</span> Column 0 <span class="k">***</span>
Column has 21000 values and has null value: no
-*** Column 1 ***
-Data type: Integer
+<span class="k">***</span> Column 1 <span class="k">***</span>
+Data <span class="nb">type</span>: Integer
Values: 21000
Has null: no
-Minimum: -2147439072
+Minimum: <span class="nt">-2147439072</span>
Maximum: 2147257982
Sum: 268482658568
-*** Column 2 ***
-Data type: String
+<span class="k">***</span> Column 2 <span class="k">***</span>
+Data <span class="nb">type</span>: String
Values: 21000
Has null: no
Minimum: 100119c272d7db89
@@ -821,111 +821,111 @@ Maximum: fffe9f6f23b287f3
Total length: 334559
File examples/TestOrcFile.columnProjection.orc has 5 stripes
-*** Stripe 0 ***
+<span class="k">***</span> Stripe 0 <span class="k">***</span>
---- Column 0 ---
+<span class="nt">---</span> Column 0 <span class="nt">---</span>
Column has 5000 values and has null value: no
---- Column 1 ---
-Data type: Integer
+<span class="nt">---</span> Column 1 <span class="nt">---</span>
+Data <span class="nb">type</span>: Integer
Values: 5000
Has null: no
-Minimum: -2145365268
+Minimum: <span class="nt">-2145365268</span>
Maximum: 2147025027
-Sum: -29841423854
+Sum: <span class="nt">-29841423854</span>
---- Column 2 ---
-Data type: String
+<span class="nt">---</span> Column 2 <span class="nt">---</span>
+Data <span class="nb">type</span>: String
Values: 5000
Has null: no
Minimum: 1005350489418be2
Maximum: fffbb8718c92b09f
Total length: 79644
-*** Stripe 1 ***
+<span class="k">***</span> Stripe 1 <span class="k">***</span>
---- Column 0 ---
+<span class="nt">---</span> Column 0 <span class="nt">---</span>
Column has 5000 values and has null value: no
---- Column 1 ---
-Data type: Integer
+<span class="nt">---</span> Column 1 <span class="nt">---</span>
+Data <span class="nb">type</span>: Integer
Values: 5000
Has null: no
-Minimum: -2147115959
+Minimum: <span class="nt">-2147115959</span>
Maximum: 2147257982
Sum: 108604887785
---- Column 2 ---
-Data type: String
+<span class="nt">---</span> Column 2 <span class="nt">---</span>
+Data <span class="nb">type</span>: String
Values: 5000
Has null: no
Minimum: 100119c272d7db89
Maximum: fff0ae41d41e6afc
Total length: 79640
-*** Stripe 2 ***
+<span class="k">***</span> Stripe 2 <span class="k">***</span>
---- Column 0 ---
+<span class="nt">---</span> Column 0 <span class="nt">---</span>
Column has 5000 values and has null value: no
---- Column 1 ---
-Data type: Integer
+<span class="nt">---</span> Column 1 <span class="nt">---</span>
+Data <span class="nb">type</span>: Integer
Values: 5000
Has null: no
-Minimum: -2145932387
+Minimum: <span class="nt">-2145932387</span>
Maximum: 2145877119
Sum: 70064190848
---- Column 2 ---
-Data type: String
+<span class="nt">---</span> Column 2 <span class="nt">---</span>
+Data <span class="nb">type</span>: String
Values: 5000
Has null: no
Minimum: 10130af874ae036c
Maximum: fffe9f6f23b287f3
Total length: 79645
-*** Stripe 3 ***
+<span class="k">***</span> Stripe 3 <span class="k">***</span>
---- Column 0 ---
+<span class="nt">---</span> Column 0 <span class="nt">---</span>
Column has 5000 values and has null value: no
---- Column 1 ---
-Data type: Integer
+<span class="nt">---</span> Column 1 <span class="nt">---</span>
+Data <span class="nb">type</span>: Integer
Values: 5000
Has null: no
-Minimum: -2147439072
+Minimum: <span class="nt">-2147439072</span>
Maximum: 2147074354
Sum: 104681356482
---- Column 2 ---
-Data type: String
+<span class="nt">---</span> Column 2 <span class="nt">---</span>
+Data <span class="nb">type</span>: String
Values: 5000
Has null: no
Minimum: 102547d48ed06518
Maximum: fffa47c57dc7b69a
Total length: 79689
-*** Stripe 4 ***
+<span class="k">***</span> Stripe 4 <span class="k">***</span>
---- Column 0 ---
+<span class="nt">---</span> Column 0 <span class="nt">---</span>
Column has 1000 values and has null value: no
---- Column 1 ---
-Data type: Integer
+<span class="nt">---</span> Column 1 <span class="nt">---</span>
+Data <span class="nb">type</span>: Integer
Values: 1000
Has null: no
-Minimum: -2141222223
+Minimum: <span class="nt">-2141222223</span>
Maximum: 2145816096
Sum: 14973647307
---- Column 2 ---
-Data type: String
+<span class="nt">---</span> Column 2 <span class="nt">---</span>
+Data <span class="nb">type</span>: String
Values: 1000
Has null: no
Minimum: 1059d81c9025a217
Maximum: ffc17f0e35e1a6c0
Total length: 15941
-</code></pre>
+</code></pre></div></div>
@@ -1007,8 +1007,6 @@ Total length: 15941
-
-
@@ -1028,29 +1026,25 @@ Total length: 15941
- <li class=""><a href="/docs/index.html">Background</a></li>
+ <li class=""><a href="http://localhost:4000/docs/index.html">Background</a></li>
-
-
- <li class=""><a href="/docs/adopters.html">ORC Adopters</a></li>
+ <li class=""><a href="http://localhost:4000/docs/adopters.html">ORC Adopters</a></li>
-
-
@@ -1082,15 +1076,13 @@ Total length: 15941
- <li class=""><a href="/docs/types.html">Types</a></li>
+ <li class=""><a href="http://localhost:4000/docs/types.html">Types</a></li>
-
-
@@ -1112,19 +1104,17 @@ Total length: 15941
- <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+ <li class=""><a href="http://localhost:4000/docs/indexes.html">Indexes</a></li>
-
-
- <li class=""><a href="/docs/acid.html">ACID support</a></li>
+ <li class=""><a href="http://localhost:4000/docs/acid.html">ACID support</a></li>
@@ -1139,8 +1129,6 @@ Total length: 15941
-
-
@@ -1148,15 +1136,13 @@ Total length: 15941
- <li class=""><a href="/docs/building.html">Building ORC</a></li>
+ <li class=""><a href="http://localhost:4000/docs/building.html">Building ORC</a></li>
-
-
@@ -1186,7 +1172,7 @@ Total length: 15941
- <li class=""><a href="/docs/releases.html">Releases</a></li>
+ <li class=""><a href="http://localhost:4000/docs/releases.html">Releases</a></li>
@@ -1201,8 +1187,6 @@ Total length: 15941
-
-
@@ -1220,15 +1204,13 @@ Total length: 15941
- <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+ <li class=""><a href="http://localhost:4000/docs/hive-ddl.html">Hive DDL</a></li>
-
-
@@ -1244,7 +1226,7 @@ Total length: 15941
- <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+ <li class=""><a href="http://localhost:4000/docs/hive-config.html">Hive Configuration</a></li>
@@ -1259,8 +1241,6 @@ Total length: 15941
-
-
@@ -1286,15 +1266,13 @@ Total length: 15941
- <li class=""><a href="/docs/mapred.html">Using in MapRed</a></li>
+ <li class=""><a href="http://localhost:4000/docs/mapred.html">Using in MapRed</a></li>
-
-
@@ -1322,7 +1300,7 @@ Total length: 15941
- <li class=""><a href="/docs/mapreduce.html">Using in MapReduce</a></li>
+ <li class=""><a href="http://localhost:4000/docs/mapreduce.html">Using in MapReduce</a></li>
@@ -1337,8 +1315,6 @@ Total length: 15941
-
-
@@ -1350,15 +1326,13 @@ Total length: 15941
- <li class=""><a href="/docs/core-java.html">Using Core Java</a></li>
+ <li class=""><a href="http://localhost:4000/docs/core-java.html">Using Core Java</a></li>
-
-
@@ -1368,7 +1342,7 @@ Total length: 15941
- <li class=""><a href="/docs/core-cpp.html">Using Core C++</a></li>
+ <li class=""><a href="http://localhost:4000/docs/core-cpp.html">Using Core C++</a></li>
@@ -1383,8 +1357,6 @@ Total length: 15941
-
-
@@ -1398,15 +1370,13 @@ Total length: 15941
- <li class="current"><a href="/docs/cpp-tools.html">C++ Tools</a></li>
+ <li class="current"><a href="http://localhost:4000/docs/cpp-tools.html">C++ Tools</a></li>
-
-
@@ -1430,7 +1400,7 @@ Total length: 15941
- <li class=""><a href="/docs/java-tools.html">Java Tools</a></li>
+ <li class=""><a href="http://localhost:4000/docs/java-tools.html">Java Tools</a></li>