blob: 1470b719e25faa3ba8901628463ea56991bcd4ed [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>DeletedDataFileScanTask</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.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="DeletedDataFileScanTask";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":18,"i2":18,"i3":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";
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 DeletedDataFileScanTask" class="title">Interface DeletedDataFileScanTask</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="ChangelogScanTask.html" title="interface in org.apache.iceberg">ChangelogScanTask</a></code>, <code><a href="ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code>, <code><a href="PartitionScanTask.html" title="interface in org.apache.iceberg">PartitionScanTask</a></code>, <code><a href="ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></code>, <code>java.io.Serializable</code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">DeletedDataFileScanTask</span>
extends <a href="ChangelogScanTask.html" title="interface in org.apache.iceberg">ChangelogScanTask</a>, <a href="ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</pre>
<div class="block">A scan task for deletes generated by removing a data file from the table.
<p>Note that all historical delete files added earlier must be applied while reading the data
file. This is required to output only those data records that were live when the data file was
removed.
<p>Suppose snapshot S1 contains data files F1, F2, F3. Then snapshot S2 adds a position delete
file, D1, that deletes records from F2 and snapshot S3 removes F2 entirely. A scan for changes
generated by S3 should include the following task:
<ul>
<li>DeletedDataFileScanTask(file=F2, existing-deletes=[D1], snapshot=S3)
</ul>
<p>Readers consuming these tasks should produce deleted records with metadata like change ordinal
and commit snapshot ID.</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>java.util.List&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#existingDeletes()">existingDeletes</a></span>()</code></th>
<td class="colLast">
<div class="block">A list of previously added <a href="DeleteFile.html" title="interface in org.apache.iceberg"><code>delete files</code></a> to apply when reading the data file
in this task.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filesCount()">filesCount</a></span>()</code></th>
<td class="colLast">
<div class="block">The number of files that will be opened by this scan task.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>default <a href="ChangelogOperation.html" title="enum in org.apache.iceberg">ChangelogOperation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#operation()">operation</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the type of changes produced by this task (i.e.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sizeBytes()">sizeBytes</a></span>()</code></th>
<td class="colLast">
<div class="block">The number of bytes that should be read by this scan task.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.ChangelogScanTask">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="ChangelogScanTask.html" title="interface in org.apache.iceberg">ChangelogScanTask</a></h3>
<code><a href="ChangelogScanTask.html#changeOrdinal()">changeOrdinal</a>, <a href="ChangelogScanTask.html#commitSnapshotId()">commitSnapshotId</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.ContentScanTask">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a></h3>
<code><a href="ContentScanTask.html#estimatedRowsCount()">estimatedRowsCount</a>, <a href="ContentScanTask.html#file()">file</a>, <a href="ContentScanTask.html#length()">length</a>, <a href="ContentScanTask.html#partition()">partition</a>, <a href="ContentScanTask.html#residual()">residual</a>, <a href="ContentScanTask.html#start()">start</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.PartitionScanTask">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="PartitionScanTask.html" title="interface in org.apache.iceberg">PartitionScanTask</a></h3>
<code><a href="PartitionScanTask.html#spec()">spec</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.ScanTask">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></h3>
<code><a href="ScanTask.html#asCombinedScanTask()">asCombinedScanTask</a>, <a href="ScanTask.html#asDataTask()">asDataTask</a>, <a href="ScanTask.html#asFileScanTask()">asFileScanTask</a>, <a href="ScanTask.html#isDataTask()">isDataTask</a>, <a href="ScanTask.html#isFileScanTask()">isFileScanTask</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="existingDeletes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>existingDeletes</h4>
<pre class="methodSignature">java.util.List&lt;<a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;existingDeletes()</pre>
<div class="block">A list of previously added <a href="DeleteFile.html" title="interface in org.apache.iceberg"><code>delete files</code></a> to apply when reading the data file
in this task.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of delete files to apply</dd>
</dl>
</li>
</ul>
<a id="operation()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operation</h4>
<pre class="methodSignature">default&nbsp;<a href="ChangelogOperation.html" title="enum in org.apache.iceberg">ChangelogOperation</a>&nbsp;operation()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ChangelogScanTask.html#operation()">ChangelogScanTask</a></code></span></div>
<div class="block">Returns the type of changes produced by this task (i.e. insert/delete).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ChangelogScanTask.html#operation()">operation</a></code>&nbsp;in interface&nbsp;<code><a href="ChangelogScanTask.html" title="interface in org.apache.iceberg">ChangelogScanTask</a></code></dd>
</dl>
</li>
</ul>
<a id="sizeBytes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sizeBytes</h4>
<pre class="methodSignature">default&nbsp;long&nbsp;sizeBytes()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ScanTask.html#sizeBytes()">ScanTask</a></code></span></div>
<div class="block">The number of bytes that should be read by this scan task.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ContentScanTask.html#sizeBytes()">sizeBytes</a></code>&nbsp;in interface&nbsp;<code><a href="ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;<a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ScanTask.html#sizeBytes()">sizeBytes</a></code>&nbsp;in interface&nbsp;<code><a href="ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total number of bytes to read</dd>
</dl>
</li>
</ul>
<a id="filesCount()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>filesCount</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;filesCount()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ScanTask.html#filesCount()">ScanTask</a></code></span></div>
<div class="block">The number of files that will be opened by this scan task.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ScanTask.html#filesCount()">filesCount</a></code>&nbsp;in interface&nbsp;<code><a href="ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of files to open</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>