blob: ae29e505366a3d4f7da1bf4e3ac904ef1c4aa4f6 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.12) on Wed Aug 18 10:34:26 PDT 2021 -->
<title>RewriteFiles</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2021-08-18">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.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.5.1.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RewriteFiles";
}
}
catch(err) {
}
//-->
var data = {"i0":18,"i1":6,"i2":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 RewriteFiles" class="title">Interface RewriteFiles</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a>&lt;<a href="Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&gt;</code>, <code><a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&gt;</code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">RewriteFiles</span>
extends <a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a>&lt;<a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&gt;</pre>
<div class="block">API for replacing files in a table.
<p>
This API accumulates file additions and deletions, produces a new <a href="Snapshot.html" title="interface in org.apache.iceberg"><code>Snapshot</code></a> of the
changes, and commits that snapshot as the current.
<p>
When committing, these changes will be applied to the latest table snapshot. Commit conflicts
will be resolved by applying the changes to the new latest snapshot and reattempting the commit.
If any of the deleted files are no longer in the latest snapshot when reattempting, the commit
will throw a <a href="exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions"><code>ValidationException</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<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>default <a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rewriteFiles(java.util.Set,java.util.Set)">rewriteFiles</a></span>&#8203;(java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd)</code></th>
<td class="colLast">
<div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rewriteFiles(java.util.Set,java.util.Set,java.util.Set,java.util.Set)">rewriteFiles</a></span>&#8203;(java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToReplace,
java.util.Set&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToReplace,
java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToAdd,
java.util.Set&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToAdd)</code></th>
<td class="colLast">
<div class="block">Add a rewrite that replaces one set of files with another set that contains the same data.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateFromSnapshot(long)">validateFromSnapshot</a></span>&#8203;(long&nbsp;snapshotId)</code></th>
<td class="colLast">
<div class="block">Set the snapshot ID used in any reads for this operation.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.PendingUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></h3>
<code><a href="PendingUpdate.html#apply()">apply</a>, <a href="PendingUpdate.html#commit()">commit</a>, <a href="PendingUpdate.html#updateEvent()">updateEvent</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.SnapshotUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="SnapshotUpdate.html" title="interface in org.apache.iceberg">SnapshotUpdate</a></h3>
<code><a href="SnapshotUpdate.html#deleteWith(java.util.function.Consumer)">deleteWith</a>, <a href="SnapshotUpdate.html#set(java.lang.String,java.lang.String)">set</a>, <a href="SnapshotUpdate.html#stageOnly()">stageOnly</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="rewriteFiles(java.util.Set,java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewriteFiles</h4>
<pre class="methodSignature">default&nbsp;<a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles&#8203;(java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd)</pre>
<div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filesToDelete</code> - files that will be replaced (deleted), cannot be null or empty.</dd>
<dd><code>filesToAdd</code> - files that will be added, cannot be null or empty.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a id="rewriteFiles(java.util.Set,java.util.Set,java.util.Set,java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rewriteFiles</h4>
<pre class="methodSignature"><a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles&#8203;(java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToReplace,
java.util.Set&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToReplace,
java.util.Set&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToAdd,
java.util.Set&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToAdd)</pre>
<div class="block">Add a rewrite that replaces one set of files with another set that contains the same data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataFilesToReplace</code> - data files that will be replaced (deleted).</dd>
<dd><code>deleteFilesToReplace</code> - delete files that will be replaced (deleted).</dd>
<dd><code>dataFilesToAdd</code> - data files that will be added.</dd>
<dd><code>deleteFilesToAdd</code> - delete files that will be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining.</dd>
</dl>
</li>
</ul>
<a id="validateFromSnapshot(long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validateFromSnapshot</h4>
<pre class="methodSignature"><a href="RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;validateFromSnapshot&#8203;(long&nbsp;snapshotId)</pre>
<div class="block">Set the snapshot ID used in any reads for this operation.
<p>
Validations will check changes after this snapshot ID. If this is not called, all ancestor snapshots through the
table's initial snapshot are validated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - a snapshot ID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</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>