blob: 7a3b00c4a2b8a8132d1ad36b4d8bb894c2e6afbf [file] [log] [blame]
<!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 (1.8.0_201) on Thu May 07 13:37:39 PDT 2020 -->
<title>BaseRewriteManifests (iceberg 0.8.0-incubating API)</title>
<meta name="date" content="2020-05-07">
<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="BaseRewriteManifests (iceberg 0.8.0-incubating API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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="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/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/BaseRewriteManifests.html" target="_top">Frames</a></li>
<li><a href="BaseRewriteManifests.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.iceberg</div>
<h2 title="Class BaseRewriteManifests" class="title">Class BaseRewriteManifests</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.BaseRewriteManifests</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;, <a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>, <a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">BaseRewriteManifests</span>
extends java.lang.Object
implements <a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></pre>
</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#addManifest-org.apache.iceberg.ManifestFile-">addManifest</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>
<div class="block">Adds a <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>manifest file</code></a> to the table.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#apply--">apply</a></span>()</code>
<div class="block">Apply the pending changes and return the uncommitted changes for validation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#apply-org.apache.iceberg.TableMetadata-">apply</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base)</code>
<div class="block">Apply the update's changes to the base table metadata and return the new manifest list.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#cleanAll--">cleanAll</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#cleanUncommitted-java.util.Set-">cleanUncommitted</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</code>
<div class="block">Clean up any uncommitted manifests that were created.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#clusterBy-java.util.function.Function-">clusterBy</a></span>(java.util.function.Function&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>,java.lang.Object&gt;&nbsp;func)</code>
<div class="block">Groups an existing <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> by a cluster key produced by a function.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#commit--">commit</a></span>()</code>
<div class="block">Apply the pending changes and commit.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#current--">current</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#deleteFile-java.lang.String-">deleteFile</a></span>(java.lang.String&nbsp;path)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#deleteManifest-org.apache.iceberg.ManifestFile-">deleteManifest</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>
<div class="block">Deletes a <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>manifest file</code></a> from the table.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>ThisT</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#deleteWith-java.util.function.Consumer-">deleteWith</a></span>(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</code>
<div class="block">Set a callback to delete files instead of the table's default.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#manifestListPath--">manifestListPath</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#newManifestOutput--">newManifestOutput</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#newManifestWriter-org.apache.iceberg.PartitionSpec-">newManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#operation--">operation</a></span>()</code>
<div class="block">A string that describes the action that produced the new snapshot.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#refresh--">refresh</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#rewriteIf-java.util.function.Predicate-">rewriteIf</a></span>(java.util.function.Predicate&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;pred)</code>
<div class="block">Determines which existing <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>ManifestFile</code></a> for the table should be rewritten.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#self--">self</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#set-java.lang.String-java.lang.String-">set</a></span>(java.lang.String&nbsp;property,
java.lang.String&nbsp;value)</code>
<div class="block">Set a summary property in the snapshot produced by this update.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#snapshotId--">snapshotId</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>ThisT</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#stageOnly--">stageOnly</a></span>()</code>
<div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#summary--">summary</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.SnapshotUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a></h3>
<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#deleteWith-java.util.function.Consumer-">deleteWith</a>, <a href="../../../org/apache/iceberg/SnapshotUpdate.html#stageOnly--">stageOnly</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.PendingUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></h3>
<code><a href="../../../org/apache/iceberg/PendingUpdate.html#apply--">apply</a>, <a href="../../../org/apache/iceberg/PendingUpdate.html#commit--">commit</a></code></li>
</ul>
</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="self--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>self</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&nbsp;self()</pre>
</li>
</ul>
<a name="operation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operation</h4>
<pre>protected&nbsp;java.lang.String&nbsp;operation()</pre>
<div class="block">A string that describes the action that produced the new snapshot.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string operation</dd>
</dl>
</li>
</ul>
<a name="set-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&nbsp;set(java.lang.String&nbsp;property,
java.lang.String&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#set-java.lang.String-java.lang.String-">SnapshotUpdate</a></code></span></div>
<div class="block">Set a summary property in the snapshot produced by this update.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#set-java.lang.String-java.lang.String-">set</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>property</code> - a String property name</dd>
<dd><code>value</code> - a String property value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="summary--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>summary</h4>
<pre>protected&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;summary()</pre>
</li>
</ul>
<a name="clusterBy-java.util.function.Function-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clusterBy</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&nbsp;clusterBy(java.util.function.Function&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>,java.lang.Object&gt;&nbsp;func)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html#clusterBy-java.util.function.Function-">RewriteManifests</a></code></span></div>
<div class="block">Groups an existing <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> by a cluster key produced by a function. The cluster key
will determine which data file will be associated with a particular manifest. All data files
with the same cluster key will be written to the same manifest (unless the file is large and
split into multiple files). Manifests deleted via <a href="../../../org/apache/iceberg/RewriteManifests.html#deleteManifest-org.apache.iceberg.ManifestFile-"><code>RewriteManifests.deleteManifest(ManifestFile)</code></a> or
added via <a href="../../../org/apache/iceberg/RewriteManifests.html#addManifest-org.apache.iceberg.ManifestFile-"><code>RewriteManifests.addManifest(ManifestFile)</code></a> are ignored during the rewrite process.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/RewriteManifests.html#clusterBy-java.util.function.Function-">clusterBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>func</code> - Function used to cluster data files to manifests.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="rewriteIf-java.util.function.Predicate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewriteIf</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&nbsp;rewriteIf(java.util.function.Predicate&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;pred)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html#rewriteIf-java.util.function.Predicate-">RewriteManifests</a></code></span></div>
<div class="block">Determines which existing <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>ManifestFile</code></a> for the table should be rewritten. Manifests
that do not match the predicate are kept as-is. If this is not called and no predicate is set, then
all manifests will be rewritten.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/RewriteManifests.html#rewriteIf-java.util.function.Predicate-">rewriteIf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pred</code> - Predicate used to determine which manifests to rewrite. If true then the manifest
file will be included for rewrite. If false then then manifest is kept as-is.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="deleteManifest-org.apache.iceberg.ManifestFile-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteManifest</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&nbsp;deleteManifest(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html#deleteManifest-org.apache.iceberg.ManifestFile-">RewriteManifests</a></code></span></div>
<div class="block">Deletes a <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>manifest file</code></a> from the table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/RewriteManifests.html#deleteManifest-org.apache.iceberg.ManifestFile-">deleteManifest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifest</code> - a manifest to delete</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="addManifest-org.apache.iceberg.ManifestFile-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addManifest</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a>&nbsp;addManifest(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html#addManifest-org.apache.iceberg.ManifestFile-">RewriteManifests</a></code></span></div>
<div class="block">Adds a <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><code>manifest file</code></a> to the table. The added manifest cannot contain new
or deleted files.
<p>
By default, the manifest will be rewritten to ensure all entries have explicit snapshot IDs.
In that case, it is always the responsibility of the caller to manage the lifecycle of
the original manifest.
<p>
If manifest entries are allowed to inherit the snapshot ID assigned on commit, the manifest
should never be deleted manually if the commit succeeds as it will become part of the table
metadata and will be cleaned up on expiry. If the manifest gets merged with others while
preparing a new snapshot, it will be deleted automatically if this operation is successful.
If the commit fails, the manifest will never be deleted and it is up to the caller whether
to delete or reuse it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/RewriteManifests.html#addManifest-org.apache.iceberg.ManifestFile-">addManifest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>manifest</code> - a manifest to add</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="apply-org.apache.iceberg.TableMetadata-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;apply(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base)</pre>
<div class="block">Apply the update's changes to the base table metadata and return the new manifest list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>base</code> - the base table metadata to apply changes to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a manifest list for the new snapshot.</dd>
</dl>
</li>
</ul>
<a name="cleanUncommitted-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanUncommitted</h4>
<pre>protected&nbsp;void&nbsp;cleanUncommitted(java.util.Set&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</pre>
<div class="block">Clean up any uncommitted manifests that were created.
<p>
Manifests may not be committed if apply is called more because a commit conflict has occurred.
Implementations may keep around manifests because the same changes will be made by both apply
calls. This method instructs the implementation to clean up those manifests and passes the
paths of the manifests that were actually committed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>committed</code> - a set of manifest paths that were actually committed</dd>
</dl>
</li>
</ul>
<a name="stageOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stageOnly</h4>
<pre>public&nbsp;ThisT&nbsp;stageOnly()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#stageOnly--">SnapshotUpdate</a></code></span></div>
<div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#stageOnly--">stageOnly</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;ThisT&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="deleteWith-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteWith</h4>
<pre>public&nbsp;ThisT&nbsp;deleteWith(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#deleteWith-java.util.function.Consumer-">SnapshotUpdate</a></code></span></div>
<div class="block">Set a callback to delete files instead of the table's default.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/SnapshotUpdate.html#deleteWith-java.util.function.Consumer-">deleteWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;ThisT&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deleteCallback</code> - a String consumer used to delete locations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="apply--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;apply()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/PendingUpdate.html#apply--">PendingUpdate</a></code></span></div>
<div class="block">Apply the pending changes and return the uncommitted changes for validation.
<p>
This does not result in a permanent update.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/PendingUpdate.html#apply--">apply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the uncommitted changes that would be committed by calling <a href="../../../org/apache/iceberg/PendingUpdate.html#commit--"><code>PendingUpdate.commit()</code></a></dd>
</dl>
</li>
</ul>
<a name="current--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;current()</pre>
</li>
</ul>
<a name="refresh--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refresh</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;refresh()</pre>
</li>
</ul>
<a name="commit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre>public&nbsp;void&nbsp;commit()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/PendingUpdate.html#commit--">PendingUpdate</a></code></span></div>
<div class="block">Apply the pending changes and commit.
<p>
Changes are committed by calling the underlying table's commit method.
<p>
Once the commit is successful, the updated table will be refreshed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../org/apache/iceberg/PendingUpdate.html#commit--">commit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="cleanAll--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanAll</h4>
<pre>protected&nbsp;void&nbsp;cleanAll()</pre>
</li>
</ul>
<a name="deleteFile-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteFile</h4>
<pre>protected&nbsp;void&nbsp;deleteFile(java.lang.String&nbsp;path)</pre>
</li>
</ul>
<a name="manifestListPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>manifestListPath</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>&nbsp;manifestListPath()</pre>
</li>
</ul>
<a name="newManifestOutput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newManifestOutput</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>&nbsp;newManifestOutput()</pre>
</li>
</ul>
<a name="newManifestWriter-org.apache.iceberg.PartitionSpec-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newManifestWriter</h4>
<pre>protected&nbsp;<a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&nbsp;newManifestWriter(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</pre>
</li>
</ul>
<a name="snapshotId--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>snapshotId</h4>
<pre>protected&nbsp;long&nbsp;snapshotId()</pre>
</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="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/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/BaseRewriteManifests.html" target="_top">Frames</a></li>
<li><a href="BaseRewriteManifests.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 ======= -->
</body>
</html>