<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Writer (ORC Core 1.9.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Writer (ORC Core 1.9.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":38,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Writer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/orc/UnknownFormatException.html" title="class in org.apache.orc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/orc/Writer.html" target="_top">Frames</a></li>
<li><a href="Writer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.orc</div>
<h2 title="Interface Writer" class="title">Interface Writer</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../org/apache/orc/impl/WriterInternal.html" title="interface in org.apache.orc.impl">WriterInternal</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/orc/impl/WriterImpl.html" title="class in org.apache.orc.impl">WriterImpl</a>, <a href="../../../org/apache/orc/impl/writer/WriterImplV2.html" title="class in org.apache.orc.impl.writer">WriterImplV2</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Writer</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
<div class="block">The interface for writing ORC files.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#addRowBatch-org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch-">addRowBatch</a></span>(<a href="https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.html?is-external=true" title="class or interface in org.apache.hadoop.hive.ql.exec.vector">VectorizedRowBatch</a>&nbsp;batch)</code>
<div class="block">Add a row batch to the ORC file.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#addUserMetadata-java.lang.String-java.nio.ByteBuffer-">addUserMetadata</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;value)</code>
<div class="block">Add arbitrary meta-data to the ORC file.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#appendStripe-byte:A-int-int-org.apache.orc.StripeInformation-org.apache.orc.OrcProto.StripeStatistics-">appendStripe</a></span>(byte[]&nbsp;stripe,
            int&nbsp;offset,
            int&nbsp;length,
            <a href="../../../org/apache/orc/StripeInformation.html" title="interface in org.apache.orc">StripeInformation</a>&nbsp;stripeInfo,
            <a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.StripeStatistics.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.StripeStatistics</a>&nbsp;stripeStatistics)</code>
<div class="block">Fast stripe append to ORC file.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#appendStripe-byte:A-int-int-org.apache.orc.StripeInformation-org.apache.orc.StripeStatistics:A-">appendStripe</a></span>(byte[]&nbsp;stripe,
            int&nbsp;offset,
            int&nbsp;length,
            <a href="../../../org/apache/orc/StripeInformation.html" title="interface in org.apache.orc">StripeInformation</a>&nbsp;stripeInfo,
            <a href="../../../org/apache/orc/StripeStatistics.html" title="class in org.apache.orc">StripeStatistics</a>[]&nbsp;stripeStatistics)</code>
<div class="block">Fast stripe append to ORC file.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#appendUserMetadata-java.util.List-">appendUserMetadata</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.UserMetadataItem.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.UserMetadataItem</a>&gt;&nbsp;userMetadata)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../org/apache/orc/Writer.html#addUserMetadata-java.lang.String-java.nio.ByteBuffer-"><code>addUserMetadata(String, ByteBuffer)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#close--">close</a></span>()</code>
<div class="block">Flush all of the buffers and close the file.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#estimateMemory--">estimateMemory</a></span>()</code>
<div class="block">Estimate the memory currently used by the writer to buffer the stripe.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#getNumberOfRows--">getNumberOfRows</a></span>()</code>
<div class="block">Return the number of rows in file.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#getRawDataSize--">getRawDataSize</a></span>()</code>
<div class="block">Return the deserialized data size.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/orc/TypeDescription.html" title="class in org.apache.orc">TypeDescription</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#getSchema--">getSchema</a></span>()</code>
<div class="block">Get the schema for this writer</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/orc/ColumnStatistics.html" title="interface in org.apache.orc">ColumnStatistics</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#getStatistics--">getStatistics</a></span>()</code>
<div class="block">Get the statistics about the columns in the file.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/orc/StripeInformation.html" title="interface in org.apache.orc">StripeInformation</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#getStripes--">getStripes</a></span>()</code>
<div class="block">Get the stripe information about the file.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/Writer.html#writeIntermediateFooter--">writeIntermediateFooter</a></span>()</code>
<div class="block">Write an intermediate footer on the file such that if the file is
 truncated to the returned offset, it would be a valid ORC file.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getSchema--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchema</h4>
<pre><a href="../../../org/apache/orc/TypeDescription.html" title="class in org.apache.orc">TypeDescription</a>&nbsp;getSchema()</pre>
<div class="block">Get the schema for this writer</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the file schema</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="addUserMetadata-java.lang.String-java.nio.ByteBuffer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addUserMetadata</h4>
<pre>void&nbsp;addUserMetadata(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;value)</pre>
<div class="block">Add arbitrary meta-data to the ORC file. This may be called at any point
 until the Writer is closed. If the same key is passed a second time, the
 second value will replace the first.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - a key to label the data with.</dd>
<dd><code>value</code> - the contents of the metadata.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="addRowBatch-org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRowBatch</h4>
<pre>void&nbsp;addRowBatch(<a href="https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.html?is-external=true" title="class or interface in org.apache.hadoop.hive.ql.exec.vector">VectorizedRowBatch</a>&nbsp;batch)
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Add a row batch to the ORC file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batch</code> - the rows to add</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="close--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()
    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Flush all of the buffers and close the file. No methods on this writer
 should be called afterwards.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="getRawDataSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawDataSize</h4>
<pre>long&nbsp;getRawDataSize()</pre>
<div class="block">Return the deserialized data size. Raw data size will be compute when
 writing the file footer. Hence raw data size value will be available only
 after closing the writer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>raw data size</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="getNumberOfRows--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfRows</h4>
<pre>long&nbsp;getNumberOfRows()</pre>
<div class="block">Return the number of rows in file. Row count gets updated when flushing
 the stripes. To get accurate row count this method should be called after
 closing the writer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>row count</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="writeIntermediateFooter--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeIntermediateFooter</h4>
<pre>long&nbsp;writeIntermediateFooter()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Write an intermediate footer on the file such that if the file is
 truncated to the returned offset, it would be a valid ORC file.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the offset that would be a valid end location for an ORC file</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="appendStripe-byte:A-int-int-org.apache.orc.StripeInformation-org.apache.orc.OrcProto.StripeStatistics-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendStripe</h4>
<pre>void&nbsp;appendStripe(byte[]&nbsp;stripe,
                  int&nbsp;offset,
                  int&nbsp;length,
                  <a href="../../../org/apache/orc/StripeInformation.html" title="interface in org.apache.orc">StripeInformation</a>&nbsp;stripeInfo,
                  <a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.StripeStatistics.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.StripeStatistics</a>&nbsp;stripeStatistics)
           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Fast stripe append to ORC file. This interface is used for fast ORC file
 merge with other ORC files. When merging, the file to be merged should pass
 stripe in binary form along with stripe information and stripe statistics.
 After appending last stripe of a file, use appendUserMetadata() to append
 any user metadata.

 This form only supports files with no column encryption. Use <a href="../../../org/apache/orc/Writer.html#appendStripe-byte:A-int-int-org.apache.orc.StripeInformation-org.apache.orc.StripeStatistics:A-"><code>appendStripe(byte[], int, int, StripeInformation, StripeStatistics[])</code></a>
 for files with encryption.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stripe</code> - - stripe as byte array</dd>
<dd><code>offset</code> - - offset within byte array</dd>
<dd><code>length</code> - - length of stripe within byte array</dd>
<dd><code>stripeInfo</code> - - stripe information</dd>
<dd><code>stripeStatistics</code> - - unencrypted stripe statistics</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="appendStripe-byte:A-int-int-org.apache.orc.StripeInformation-org.apache.orc.StripeStatistics:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendStripe</h4>
<pre>void&nbsp;appendStripe(byte[]&nbsp;stripe,
                  int&nbsp;offset,
                  int&nbsp;length,
                  <a href="../../../org/apache/orc/StripeInformation.html" title="interface in org.apache.orc">StripeInformation</a>&nbsp;stripeInfo,
                  <a href="../../../org/apache/orc/StripeStatistics.html" title="class in org.apache.orc">StripeStatistics</a>[]&nbsp;stripeStatistics)
           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Fast stripe append to ORC file. This interface is used for fast ORC file
 merge with other ORC files. When merging, the file to be merged should pass
 stripe in binary form along with stripe information and stripe statistics.
 After appending last stripe of a file, use <a href="../../../org/apache/orc/Writer.html#addUserMetadata-java.lang.String-java.nio.ByteBuffer-"><code>addUserMetadata(String,
 ByteBuffer)</code></a> to append any user metadata.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stripe</code> - - stripe as byte array</dd>
<dd><code>offset</code> - - offset within byte array</dd>
<dd><code>length</code> - - length of stripe within byte array</dd>
<dd><code>stripeInfo</code> - - stripe information</dd>
<dd><code>stripeStatistics</code> - - stripe statistics with the last one being
                         for the unencrypted data and the others being for
                         each encryption variant.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6.0</dd>
</dl>
</li>
</ul>
<a name="appendUserMetadata-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendUserMetadata</h4>
<pre>void&nbsp;appendUserMetadata(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.UserMetadataItem.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.UserMetadataItem</a>&gt;&nbsp;userMetadata)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../org/apache/orc/Writer.html#addUserMetadata-java.lang.String-java.nio.ByteBuffer-"><code>addUserMetadata(String, ByteBuffer)</code></a> instead</span></div>
<div class="block">Update the current user metadata with a list of new values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>userMetadata</code> - - user metadata</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="getStatistics--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatistics</h4>
<pre><a href="../../../org/apache/orc/ColumnStatistics.html" title="interface in org.apache.orc">ColumnStatistics</a>[]&nbsp;getStatistics()
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get the statistics about the columns in the file. The output of this is
 based on the time at which it is called. It shall use all of the currently
 written data to provide the statistics.

 Please note there are costs involved with invoking this method and should
 be used judiciously.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the information about the column</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1.0</dd>
</dl>
</li>
</ul>
<a name="getStripes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStripes</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/apache/orc/StripeInformation.html" title="interface in org.apache.orc">StripeInformation</a>&gt;&nbsp;getStripes()
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get the stripe information about the file. The output of this is based on the time at which it
 is called. It shall return stripes that have been completed.

 After the writer is closed this shall give the complete stripe information.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>stripe information</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6.8</dd>
</dl>
</li>
</ul>
<a name="estimateMemory--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>estimateMemory</h4>
<pre>long&nbsp;estimateMemory()</pre>
<div class="block">Estimate the memory currently used by the writer to buffer the stripe.
 `This method help write engine to control the refresh policy of the ORC.`</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Writer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/apache/orc/UnknownFormatException.html" title="class in org.apache.orc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/orc/Writer.html" target="_top">Frames</a></li>
<li><a href="Writer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
