blob: 5664b82ef24086da751e88800aaaf0e29ae14546 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ContentFile</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../jquery/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ContentFile";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6,"i5":18,"i6":18,"i7":6,"i8":18,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":18,"i20":6,"i21":6,"i22":6,"i23":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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" id="allclasses_navbar_top">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg</a></div>
<h2 title="Interface ContentFile" class="title">Interface ContentFile&lt;F&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>F</code> - the concrete Java class of a ContentFile instance.</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a></code>, <code><a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="spark/SparkContentFile.html" title="class in org.apache.iceberg.spark">SparkContentFile</a></code>, <code><a href="spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></code>, <code><a href="spark/SparkDeleteFile.html" title="class in org.apache.iceberg.spark">SparkDeleteFile</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ContentFile&lt;F&gt;</span></pre>
<div class="block">Superinterface of <a href="DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> and <a href="DeleteFile.html" title="interface in org.apache.iceberg"><code>DeleteFile</code></a> that exposes common methods.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnSizes()">columnSizes</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to the size of the column in bytes, null otherwise.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="FileContent.html" title="enum in org.apache.iceberg">FileContent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#content()">content</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns type of content stored in the file; one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy()">copy</a></span>()</code></th>
<td class="colLast">
<div class="block">Copies this file.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default <a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy(boolean)">copy</a></span>&#8203;(boolean&nbsp;withStats)</code></th>
<td class="colLast">
<div class="block">Copies this file (potentially without file stats).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyWithoutStats()">copyWithoutStats</a></span>()</code></th>
<td class="colLast">
<div class="block">Copies this file without file stats.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyWithStats(java.util.Set)">copyWithStats</a></span>&#8203;(java.util.Set&lt;java.lang.Integer&gt;&nbsp;requestedColumnIds)</code></th>
<td class="colLast">
<div class="block">Copies this file with column stats only for specific columns.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataSequenceNumber()">dataSequenceNumber</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the data sequence number of the file.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equalityFieldIds()">equalityFieldIds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the set of field IDs used for equality comparison, in equality delete files.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fileSequenceNumber()">fileSequenceNumber</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the file sequence number.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fileSizeInBytes()">fileSizeInBytes</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the file size in bytes.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#format()">format</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns format of the file.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keyMetadata()">keyMetadata</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns metadata about how this file is encrypted, or null if the file is stored in plain text.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lowerBounds()">lowerBounds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to value lower bounds, null otherwise.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nanValueCounts()">nanValueCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to its NaN value count, null otherwise.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullValueCounts()">nullValueCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to its null value count, null otherwise.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="StructLike.html" title="interface in org.apache.iceberg">StructLike</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#partition()">partition</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns partition for this file as a <a href="StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.CharSequence</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#path()">path</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns fully qualified path to the file, suitable for constructing a Hadoop Path.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pos()">pos</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the ordinal position of the file in a manifest, or null if it was not read from a
manifest.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recordCount()">recordCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of top-level records in the file.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>default java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortOrderId()">sortOrderId</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the sort order id of this file, which describes how the file is ordered.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#specId()">specId</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns id of the partition spec used for partition metadata.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitOffsets()">splitOffsets</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns list of recommended split locations, if applicable, null otherwise.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#upperBounds()">upperBounds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to value upper bounds, null otherwise.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueCounts()">valueCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to the count of its values (including null and NaN
values), null otherwise.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="pos()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pos</h4>
<pre class="methodSignature">java.lang.Long&nbsp;pos()</pre>
<div class="block">Returns the ordinal position of the file in a manifest, or null if it was not read from a
manifest.</div>
</li>
</ul>
<a id="specId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>specId</h4>
<pre class="methodSignature">int&nbsp;specId()</pre>
<div class="block">Returns id of the partition spec used for partition metadata.</div>
</li>
</ul>
<a id="content()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>content</h4>
<pre class="methodSignature"><a href="FileContent.html" title="enum in org.apache.iceberg">FileContent</a>&nbsp;content()</pre>
<div class="block">Returns type of content stored in the file; one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
</li>
</ul>
<a id="path()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>path</h4>
<pre class="methodSignature">java.lang.CharSequence&nbsp;path()</pre>
<div class="block">Returns fully qualified path to the file, suitable for constructing a Hadoop Path.</div>
</li>
</ul>
<a id="format()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>format</h4>
<pre class="methodSignature"><a href="FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a>&nbsp;format()</pre>
<div class="block">Returns format of the file.</div>
</li>
</ul>
<a id="partition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>partition</h4>
<pre class="methodSignature"><a href="StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition()</pre>
<div class="block">Returns partition for this file as a <a href="StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a>.</div>
</li>
</ul>
<a id="recordCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordCount</h4>
<pre class="methodSignature">long&nbsp;recordCount()</pre>
<div class="block">Returns the number of top-level records in the file.</div>
</li>
</ul>
<a id="fileSizeInBytes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileSizeInBytes</h4>
<pre class="methodSignature">long&nbsp;fileSizeInBytes()</pre>
<div class="block">Returns the file size in bytes.</div>
</li>
</ul>
<a id="columnSizes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnSizes</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;columnSizes()</pre>
<div class="block">Returns if collected, map from column ID to the size of the column in bytes, null otherwise.</div>
</li>
</ul>
<a id="valueCounts()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueCounts</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;valueCounts()</pre>
<div class="block">Returns if collected, map from column ID to the count of its values (including null and NaN
values), null otherwise.</div>
</li>
</ul>
<a id="nullValueCounts()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullValueCounts</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;nullValueCounts()</pre>
<div class="block">Returns if collected, map from column ID to its null value count, null otherwise.</div>
</li>
</ul>
<a id="nanValueCounts()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nanValueCounts</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;nanValueCounts()</pre>
<div class="block">Returns if collected, map from column ID to its NaN value count, null otherwise.</div>
</li>
</ul>
<a id="lowerBounds()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lowerBounds</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;&nbsp;lowerBounds()</pre>
<div class="block">Returns if collected, map from column ID to value lower bounds, null otherwise.</div>
</li>
</ul>
<a id="upperBounds()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>upperBounds</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;&nbsp;upperBounds()</pre>
<div class="block">Returns if collected, map from column ID to value upper bounds, null otherwise.</div>
</li>
</ul>
<a id="keyMetadata()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keyMetadata</h4>
<pre class="methodSignature">java.nio.ByteBuffer&nbsp;keyMetadata()</pre>
<div class="block">Returns metadata about how this file is encrypted, or null if the file is stored in plain text.</div>
</li>
</ul>
<a id="splitOffsets()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>splitOffsets</h4>
<pre class="methodSignature">java.util.List&lt;java.lang.Long&gt;&nbsp;splitOffsets()</pre>
<div class="block">Returns list of recommended split locations, if applicable, null otherwise.
<p>When available, this information is used for planning scan tasks whose boundaries are
determined by these offsets. The returned list must be sorted in ascending order.</div>
</li>
</ul>
<a id="equalityFieldIds()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equalityFieldIds</h4>
<pre class="methodSignature">java.util.List&lt;java.lang.Integer&gt;&nbsp;equalityFieldIds()</pre>
<div class="block">Returns the set of field IDs used for equality comparison, in equality delete files.
<p>An equality delete file may contain additional data fields that are not used by equality
comparison. The subset of columns in a delete file to be used in equality comparison are
tracked by ID. Extra columns can be used to reconstruct changes and metrics from extra columns
are used during job planning.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IDs of the fields used in equality comparison with the records in this delete file</dd>
</dl>
</li>
</ul>
<a id="sortOrderId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortOrderId</h4>
<pre class="methodSignature">default&nbsp;java.lang.Integer&nbsp;sortOrderId()</pre>
<div class="block">Returns the sort order id of this file, which describes how the file is ordered. This
information will be useful for merging data and equality delete files more efficiently when
they share the same sort order id.</div>
</li>
</ul>
<a id="dataSequenceNumber()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataSequenceNumber</h4>
<pre class="methodSignature">default&nbsp;java.lang.Long&nbsp;dataSequenceNumber()</pre>
<div class="block">Returns the data sequence number of the file.
<p>This method represents the sequence number to which the file should apply. Note the data
sequence number may differ from the sequence number of the snapshot in which the underlying
file was added (a.k.a the file sequence number). New snapshots can add files that belong to
older sequence numbers (e.g. compaction). The data sequence number also does not change when
the file is marked as deleted.
<p>This method can return null if the data sequence number is unknown. This may happen while
reading a v2 manifest that did not persist the data sequence number for manifest entries with
status DELETED (older Iceberg versions).</div>
</li>
</ul>
<a id="fileSequenceNumber()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileSequenceNumber</h4>
<pre class="methodSignature">default&nbsp;java.lang.Long&nbsp;fileSequenceNumber()</pre>
<div class="block">Returns the file sequence number.
<p>The file sequence number represents the sequence number of the snapshot in which the
underlying file was added. The file sequence number is always assigned at commit and cannot be
provided explicitly, unlike the data sequence number. The file sequence number does not change
upon assigning. In case of rewrite (like compaction), file sequence number can be higher than
the data sequence number.
<p>This method can return null if the file sequence number is unknown. This may happen while
reading a v2 manifest that did not persist the file sequence number for manifest entries with
status EXISTING or DELETED (older Iceberg versions).</div>
</li>
</ul>
<a id="copy()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature"><a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copy()</pre>
<div class="block">Copies this file. Manifest readers can reuse file instances; use this method to copy data when
collecting files from tasks.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this data file</dd>
</dl>
</li>
</ul>
<a id="copyWithoutStats()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyWithoutStats</h4>
<pre class="methodSignature"><a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copyWithoutStats()</pre>
<div class="block">Copies this file without file stats. Manifest readers can reuse file instances; use this method
to copy data without stats when collecting files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this data file, without lower bounds, upper bounds, value counts, null value
counts, or nan value counts</dd>
</dl>
</li>
</ul>
<a id="copyWithStats(java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyWithStats</h4>
<pre class="methodSignature">default&nbsp;<a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copyWithStats&#8203;(java.util.Set&lt;java.lang.Integer&gt;&nbsp;requestedColumnIds)</pre>
<div class="block">Copies this file with column stats only for specific columns. Manifest readers can reuse file
instances; use this method to copy data with stats only for specific columns when collecting
files.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestedColumnIds</code> - column IDs for which to keep stats.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of data file, with lower bounds, upper bounds, value counts, null value counts,
and nan value counts for only specific columns.</dd>
</dl>
</li>
</ul>
<a id="copy(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature">default&nbsp;<a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copy&#8203;(boolean&nbsp;withStats)</pre>
<div class="block">Copies this file (potentially without file stats). Manifest readers can reuse file instances;
use this method to copy data when collecting files from tasks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>withStats</code> - Will copy this file without file stats if set to <code>false</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this data file. If <code>withStats</code> is set to <code>false</code> the
file will not contain lower bounds, upper bounds, value counts, null value counts, or nan
value counts</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>