blob: 0d1a1535ae03c700bcd4d885ad0b3cea8646d3a6 [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 -->
<title>RewriteDataFiles</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="RewriteDataFiles";
}
}
catch(err) {
}
//-->
var methods = {"i0":18,"i1":6,"i2":18,"i3":18,"i4":18};
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";
</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/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/iceberg/actions/RewriteDataFiles.html" target="_top">Frames</a></li>
<li><a href="RewriteDataFiles.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.actions</div>
<h2 title="Interface RewriteDataFiles" class="title">Interface RewriteDataFiles</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a>&gt;, <a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteDataFilesSparkAction</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">RewriteDataFiles</span>
extends <a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a>&gt;</pre>
<div class="block">An action for rewriting data files according to a rewrite strategy. Generally used for optimizing
the sizing and layout of data files within a table.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a></span></code>
<div class="block">For a file group that failed to rewrite.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></span></code>
<div class="block">A description of a file group, when it was processed, and within which partition.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></span></code>
<div class="block">For a particular file group, the number of files which are newly created and the number of
files which were formerly part of the table but have been rewritten.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></span></code>
<div class="block">A map of file group information to the results of rewriting that file group.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES">MAX_CONCURRENT_FILE_GROUP_REWRITES</a></span></code>
<div class="block">The max number of file groups to be simultaneously rewritten by the rewrite strategy.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES">MAX_FILE_GROUP_SIZE_BYTES</a></span></code>
<div class="block">The entire rewrite operation is broken down into pieces based on partitioning and within
partitions based on size into groups.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_ENABLED">PARTIAL_PROGRESS_ENABLED</a></span></code>
<div class="block">Enable committing groups of files (see max-file-group-size-bytes) prior to the entire rewrite
completing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_ENABLED_DEFAULT">PARTIAL_PROGRESS_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_MAX_COMMITS">PARTIAL_PROGRESS_MAX_COMMITS</a></span></code>
<div class="block">The maximum amount of Iceberg commits that this rewrite is allowed to produce if partial
progress is enabled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#REWRITE_JOB_ORDER">REWRITE_JOB_ORDER</a></span></code>
<div class="block">Forces the rewrite job order based on the value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#REWRITE_JOB_ORDER_DEFAULT">REWRITE_JOB_ORDER_DEFAULT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></span></code>
<div class="block">The output file size that this rewrite strategy will attempt to generate when rewriting files.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#USE_STARTING_SEQUENCE_NUMBER">USE_STARTING_SEQUENCE_NUMBER</a></span></code>
<div class="block">If the compaction should use the sequence number of the snapshot at compaction start time for
new data files, instead of using the sequence number of the newly produced snapshot.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#USE_STARTING_SEQUENCE_NUMBER_DEFAULT">USE_STARTING_SEQUENCE_NUMBER_DEFAULT</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#binPack--">binPack</a></span>()</code>
<div class="block">Choose BINPACK as a strategy for this rewrite operation</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#filter-org.apache.iceberg.expressions.Expression-">filter</a></span>(<a href="../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expression)</code>
<div class="block">A user provided filter for determining which files will be considered by the rewrite strategy.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>default <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#sort--">sort</a></span>()</code>
<div class="block">Choose SORT as a strategy for this rewrite operation using the table's sortOrder</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#sort-org.apache.iceberg.SortOrder-">sort</a></span>(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder)</code>
<div class="block">Choose SORT as a strategy for this rewrite operation and manually specify the sortOrder to use</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#zOrder-java.lang.String...-">zOrder</a></span>(java.lang.String...&nbsp;columns)</code>
<div class="block">Choose Z-ORDER as a strategy for this rewrite operation with a specified list of columns to use</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.SnapshotUpdate">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a></h3>
<code><a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html#snapshotProperty-java.lang.String-java.lang.String-">snapshotProperty</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.Action">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a></h3>
<code><a href="../../../../org/apache/iceberg/actions/Action.html#execute--">execute</a>, <a href="../../../../org/apache/iceberg/actions/Action.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../../org/apache/iceberg/actions/Action.html#options-java.util.Map-">options</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="PARTIAL_PROGRESS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PARTIAL_PROGRESS_ENABLED</h4>
<pre>static final&nbsp;java.lang.String PARTIAL_PROGRESS_ENABLED</pre>
<div class="block">Enable committing groups of files (see max-file-group-size-bytes) prior to the entire rewrite
completing. This will produce additional commits but allow for progress even if some groups
fail to commit. This setting will not change the correctness of the rewrite operation as file
groups can be compacted independently.
<p>The default is false, which produces a single commit when the entire job has completed.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PARTIAL_PROGRESS_ENABLED_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PARTIAL_PROGRESS_ENABLED_DEFAULT</h4>
<pre>static final&nbsp;boolean PARTIAL_PROGRESS_ENABLED_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_ENABLED_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PARTIAL_PROGRESS_MAX_COMMITS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PARTIAL_PROGRESS_MAX_COMMITS</h4>
<pre>static final&nbsp;java.lang.String PARTIAL_PROGRESS_MAX_COMMITS</pre>
<div class="block">The maximum amount of Iceberg commits that this rewrite is allowed to produce if partial
progress is enabled. This setting has no effect if partial progress is disabled.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_MAX_COMMITS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</h4>
<pre>static final&nbsp;int PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_FILE_GROUP_SIZE_BYTES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_FILE_GROUP_SIZE_BYTES</h4>
<pre>static final&nbsp;java.lang.String MAX_FILE_GROUP_SIZE_BYTES</pre>
<div class="block">The entire rewrite operation is broken down into pieces based on partitioning and within
partitions based on size into groups. These sub-units of the rewrite are referred to as file
groups. The largest amount of data that should be compacted in a single group is controlled by
<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES"><code>MAX_FILE_GROUP_SIZE_BYTES</code></a>. This helps with breaking down the rewriting of very large
partitions which may not be rewritable otherwise due to the resource constraints of the
cluster. For example a sort based rewrite may not scale to terabyte sized partitions, those
partitions need to be worked on in small subsections to avoid exhaustion of resources.
<p>When grouping files, the underlying rewrite strategy will use this value as to limit the
files which will be included in a single file group. A group will be processed by a single
framework "action". For example, in Spark this means that each group would be rewritten in its
own Spark action. A group will never contain files for multiple output partitions.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.MAX_FILE_GROUP_SIZE_BYTES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</h4>
<pre>static final&nbsp;long MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_CONCURRENT_FILE_GROUP_REWRITES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_CONCURRENT_FILE_GROUP_REWRITES</h4>
<pre>static final&nbsp;java.lang.String MAX_CONCURRENT_FILE_GROUP_REWRITES</pre>
<div class="block">The max number of file groups to be simultaneously rewritten by the rewrite strategy. The
structure and contents of the group is determined by the rewrite strategy. Each file group will
be rewritten independently and asynchronously.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</h4>
<pre>static final&nbsp;int MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TARGET_FILE_SIZE_BYTES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TARGET_FILE_SIZE_BYTES</h4>
<pre>static final&nbsp;java.lang.String TARGET_FILE_SIZE_BYTES</pre>
<div class="block">The output file size that this rewrite strategy will attempt to generate when rewriting files.
By default this will use the "write.target-file-size-bytes value" in the table properties of
the table being updated.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.TARGET_FILE_SIZE_BYTES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="USE_STARTING_SEQUENCE_NUMBER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USE_STARTING_SEQUENCE_NUMBER</h4>
<pre>static final&nbsp;java.lang.String USE_STARTING_SEQUENCE_NUMBER</pre>
<div class="block">If the compaction should use the sequence number of the snapshot at compaction start time for
new data files, instead of using the sequence number of the newly produced snapshot.
<p>This avoids commit conflicts with updates that add newer equality deletes at a higher
sequence number.
<p>Defaults to true.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.USE_STARTING_SEQUENCE_NUMBER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="USE_STARTING_SEQUENCE_NUMBER_DEFAULT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USE_STARTING_SEQUENCE_NUMBER_DEFAULT</h4>
<pre>static final&nbsp;boolean USE_STARTING_SEQUENCE_NUMBER_DEFAULT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.USE_STARTING_SEQUENCE_NUMBER_DEFAULT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="REWRITE_JOB_ORDER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REWRITE_JOB_ORDER</h4>
<pre>static final&nbsp;java.lang.String REWRITE_JOB_ORDER</pre>
<div class="block">Forces the rewrite job order based on the value.
<p>
<ul>
<li>If rewrite-job-order=bytes-asc, then rewrite the smallest job groups first.
<li>If rewrite-job-order=bytes-desc, then rewrite the largest job groups first.
<li>If rewrite-job-order=files-asc, then rewrite the job groups with the least files first.
<li>If rewrite-job-order=files-desc, then rewrite the job groups with the most files first.
<li>If rewrite-job-order=none, then rewrite job groups in the order they were planned (no
specific ordering).
</ul>
<p>Defaults to none.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewriteDataFiles.REWRITE_JOB_ORDER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="REWRITE_JOB_ORDER_DEFAULT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>REWRITE_JOB_ORDER_DEFAULT</h4>
<pre>static final&nbsp;java.lang.String REWRITE_JOB_ORDER_DEFAULT</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="binPack--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binPack</h4>
<pre>default&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>&nbsp;binPack()</pre>
<div class="block">Choose BINPACK as a strategy for this rewrite operation</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="sort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sort</h4>
<pre>default&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>&nbsp;sort()</pre>
<div class="block">Choose SORT as a strategy for this rewrite operation using the table's sortOrder</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="sort-org.apache.iceberg.SortOrder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sort</h4>
<pre>default&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>&nbsp;sort(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder)</pre>
<div class="block">Choose SORT as a strategy for this rewrite operation and manually specify the sortOrder to use</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sortOrder</code> - user defined sortOrder</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="zOrder-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>zOrder</h4>
<pre>default&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>&nbsp;zOrder(java.lang.String...&nbsp;columns)</pre>
<div class="block">Choose Z-ORDER as a strategy for this rewrite operation with a specified list of columns to use</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columns</code> - Columns to be used to generate Z-Values</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for method chaining</dd>
</dl>
</li>
</ul>
<a name="filter-org.apache.iceberg.expressions.Expression-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>filter</h4>
<pre><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>&nbsp;filter(<a href="../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expression)</pre>
<div class="block">A user provided filter for determining which files will be considered by the rewrite strategy.
This will be used in addition to whatever rules the rewrite strategy generates. For example
this would be used for providing a restriction to only run rewrite on a specific partition.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - An iceberg expression used to determine which files will be considered for
rewriting</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this for chaining</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="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/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/iceberg/actions/RewriteDataFiles.html" target="_top">Frames</a></li>
<li><a href="RewriteDataFiles.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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>