blob: fd2046b5f05a7d886ac50e785e57ae2241605406 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Scan</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="Scan";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":18,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":18,"i14":6,"i15":6,"i16":6,"i17":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 Scan" class="title">Interface Scan&lt;ThisT,&#8203;T extends <a href="ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,&#8203;G extends <a href="ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>ThisT</code> - the child Java API class, returned by method chaining</dd>
<dd><code>T</code> - the Java type of tasks produces by this scan</dd>
<dd><code>G</code> - the Java type of task groups produces by this scan</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="BatchScan.html" title="interface in org.apache.iceberg">BatchScan</a></code>, <code><a href="IncrementalAppendScan.html" title="interface in org.apache.iceberg">IncrementalAppendScan</a></code>, <code><a href="IncrementalChangelogScan.html" title="interface in org.apache.iceberg">IncrementalChangelogScan</a></code>, <code><a href="IncrementalScan.html" title="interface in org.apache.iceberg">IncrementalScan</a>&lt;ThisT,&#8203;T,&#8203;G&gt;</code>, <code><a href="TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AllDataFilesTable.AllDataFilesTableScan.html" title="class in org.apache.iceberg">AllDataFilesTable.AllDataFilesTableScan</a></code>, <code><a href="AllDeleteFilesTable.AllDeleteFilesTableScan.html" title="class in org.apache.iceberg">AllDeleteFilesTable.AllDeleteFilesTableScan</a></code>, <code><a href="AllFilesTable.AllFilesTableScan.html" title="class in org.apache.iceberg">AllFilesTable.AllFilesTableScan</a></code>, <code><a href="AllManifestsTable.AllManifestsTableScan.html" title="class in org.apache.iceberg">AllManifestsTable.AllManifestsTableScan</a></code>, <code><a href="DataFilesTable.DataFilesTableScan.html" title="class in org.apache.iceberg">DataFilesTable.DataFilesTableScan</a></code>, <code><a href="DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></code>, <code><a href="DeleteFilesTable.DeleteFilesTableScan.html" title="class in org.apache.iceberg">DeleteFilesTable.DeleteFilesTableScan</a></code>, <code><a href="FilesTable.FilesTableScan.html" title="class in org.apache.iceberg">FilesTable.FilesTableScan</a></code>, <code><a href="PositionDeletesTable.PositionDeletesBatchScan.html" title="class in org.apache.iceberg">PositionDeletesTable.PositionDeletesBatchScan</a></code>, <code><a href="SnapshotScan.html" title="class in org.apache.iceberg">SnapshotScan</a></code>, <code><a href="SparkDistributedDataScan.html" title="class in org.apache.iceberg">SparkDistributedDataScan</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">Scan&lt;ThisT,&#8203;T extends <a href="ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,&#8203;G extends <a href="ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</span></pre>
<div class="block">Scan objects are immutable and can be shared between threads. Refinement methods, like <a href="#select(java.util.Collection)"><code>select(Collection)</code></a> and <a href="#filter(org.apache.iceberg.expressions.Expression)"><code>filter(Expression)</code></a>, create new TableScan instances.</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><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#caseSensitive(boolean)">caseSensitive</a></span>&#8203;(boolean&nbsp;caseSensitive)</code></th>
<td class="colLast">
<div class="block">Create a new scan from this that, if data columns where selected via <a href="#select(java.util.Collection)"><code>select(java.util.Collection)</code></a>, controls whether the match to the schema will be done with case
sensitivity.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter()">filter</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns this scan's filter <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter(org.apache.iceberg.expressions.Expression)">filter</a></span>&#8203;(<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code></th>
<td class="colLast">
<div class="block">Create a new scan from the results of this filtered by the <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ignoreResiduals()">ignoreResiduals</a></span>()</code></th>
<td class="colLast">
<div class="block">Create a new scan from this that applies data filtering to files but not to rows in those
files.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#includeColumnStats()">includeColumnStats</a></span>()</code></th>
<td class="colLast">
<div class="block">Create a new scan from this that loads the column stats with each data file.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCaseSensitive()">isCaseSensitive</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this scan is case-sensitive with respect to column names.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default <a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#metricsReporter(org.apache.iceberg.metrics.MetricsReporter)">metricsReporter</a></span>&#8203;(<a href="metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code></th>
<td class="colLast">
<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
reporters maintained by the scan.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#option(java.lang.String,java.lang.String)">option</a></span>&#8203;(java.lang.String&nbsp;property,
java.lang.String&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Create a new scan from this scan's configuration that will override the <a href="Table.html" title="interface in org.apache.iceberg"><code>Table</code></a>'s
behavior based on the incoming pair.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="Scan.html" title="type parameter in Scan">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#planFiles()">planFiles</a></span>()</code></th>
<td class="colLast">
<div class="block">Plan tasks for this scan where each task reads a single file.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="Scan.html" title="type parameter in Scan">G</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#planTasks()">planTasks</a></span>()</code></th>
<td class="colLast">
<div class="block">Plan balanced task groups for this scan by splitting large and combining small tasks.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#planWith(java.util.concurrent.ExecutorService)">planWith</a></span>&#8203;(java.util.concurrent.ExecutorService&nbsp;executorService)</code></th>
<td class="colLast">
<div class="block">Create a new scan to use a particular executor to plan.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#project(org.apache.iceberg.Schema)">project</a></span>&#8203;(<a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</code></th>
<td class="colLast">
<div class="block">Create a new scan from this with the schema as its projection.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#schema()">schema</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns this scan's projection <a href="Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>default <a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(java.lang.String...)">select</a></span>&#8203;(java.lang.String...&nbsp;columns)</code></th>
<td class="colLast">
<div class="block">Create a new scan from this that will read the given columns.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="Scan.html" title="type parameter in Scan">ThisT</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(java.util.Collection)">select</a></span>&#8203;(java.util.Collection&lt;java.lang.String&gt;&nbsp;columns)</code></th>
<td class="colLast">
<div class="block">Create a new scan from this that will read the given data columns.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitLookback()">splitLookback</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the split lookback for this scan.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitOpenFileCost()">splitOpenFileCost</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the split open file cost for this scan.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#targetSplitSize()">targetSplitSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the target split size for this scan.</div>
</td>
</tr>
</table>
</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="option(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>option</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;option&#8203;(java.lang.String&nbsp;property,
java.lang.String&nbsp;value)</pre>
<div class="block">Create a new scan from this scan's configuration that will override the <a href="Table.html" title="interface in org.apache.iceberg"><code>Table</code></a>'s
behavior based on the incoming pair. Unknown properties will be ignored.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>property</code> - name of the table property to be overridden</dd>
<dd><code>value</code> - value to override with</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with overridden behavior</dd>
</dl>
</li>
</ul>
<a id="project(org.apache.iceberg.Schema)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>project</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;project&#8203;(<a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</pre>
<div class="block">Create a new scan from this with the schema as its projection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>schema</code> - a projection schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with the given projection</dd>
</dl>
</li>
</ul>
<a id="caseSensitive(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>caseSensitive</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;caseSensitive&#8203;(boolean&nbsp;caseSensitive)</pre>
<div class="block">Create a new scan from this that, if data columns where selected via <a href="#select(java.util.Collection)"><code>select(java.util.Collection)</code></a>, controls whether the match to the schema will be done with case
sensitivity. Default is true.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with case sensitivity as stated</dd>
</dl>
</li>
</ul>
<a id="isCaseSensitive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCaseSensitive</h4>
<pre class="methodSignature">boolean&nbsp;isCaseSensitive()</pre>
<div class="block">Returns whether this scan is case-sensitive with respect to column names.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if case-sensitive, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="includeColumnStats()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>includeColumnStats</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;includeColumnStats()</pre>
<div class="block">Create a new scan from this that loads the column stats with each data file.
<p>Column stats include: value count, null value count, lower bounds, and upper bounds.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this that loads column stats.</dd>
</dl>
</li>
</ul>
<a id="select(java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;select&#8203;(java.util.Collection&lt;java.lang.String&gt;&nbsp;columns)</pre>
<div class="block">Create a new scan from this that will read the given data columns. This produces an expected
schema that includes all fields that are either selected or used by this scan's filter
expression.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columns</code> - column names from the table's schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with the given projection columns</dd>
</dl>
</li>
</ul>
<a id="select(java.lang.String...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre class="methodSignature">default&nbsp;<a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;select&#8203;(java.lang.String...&nbsp;columns)</pre>
<div class="block">Create a new scan from this that will read the given columns. This produces an expected schema
that includes all fields that are either selected or used by this scan's filter expression.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columns</code> - column names</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with the given projection columns</dd>
</dl>
</li>
</ul>
<a id="filter(org.apache.iceberg.expressions.Expression)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;filter&#8203;(<a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</pre>
<div class="block">Create a new scan from the results of this filtered by the <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - a filter expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this with results filtered by the expression</dd>
</dl>
</li>
</ul>
<a id="filter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre class="methodSignature"><a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;filter()</pre>
<div class="block">Returns this scan's filter <a href="expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this scan's filter expression</dd>
</dl>
</li>
</ul>
<a id="ignoreResiduals()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ignoreResiduals</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;ignoreResiduals()</pre>
<div class="block">Create a new scan from this that applies data filtering to files but not to rows in those
files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new scan based on this that does not filter rows in files.</dd>
</dl>
</li>
</ul>
<a id="planWith(java.util.concurrent.ExecutorService)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>planWith</h4>
<pre class="methodSignature"><a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;planWith&#8203;(java.util.concurrent.ExecutorService&nbsp;executorService)</pre>
<div class="block">Create a new scan to use a particular executor to plan. The default worker pool will be used by
default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executorService</code> - the provided executor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a table scan that uses the provided executor to access manifests</dd>
</dl>
</li>
</ul>
<a id="schema()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schema</h4>
<pre class="methodSignature"><a href="Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema()</pre>
<div class="block">Returns this scan's projection <a href="Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a>.
<p>If the projection schema was set directly using <a href="#project(org.apache.iceberg.Schema)"><code>project(Schema)</code></a>, returns that
schema.
<p>If the projection schema was set by calling <a href="#select(java.util.Collection)"><code>select(Collection)</code></a>, returns a
projection schema that includes the selected data fields and any fields used in the filter
expression.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this scan's projection schema</dd>
</dl>
</li>
</ul>
<a id="planFiles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>planFiles</h4>
<pre class="methodSignature"><a href="io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="Scan.html" title="type parameter in Scan">T</a>&gt;&nbsp;planFiles()</pre>
<div class="block">Plan tasks for this scan where each task reads a single file.
<p>Use <a href="#planTasks()"><code>planTasks()</code></a> for planning balanced tasks where each task will read either a
single file, a part of a file, or multiple files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an Iterable of tasks scanning entire files required by this scan</dd>
</dl>
</li>
</ul>
<a id="planTasks()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>planTasks</h4>
<pre class="methodSignature"><a href="io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="Scan.html" title="type parameter in Scan">G</a>&gt;&nbsp;planTasks()</pre>
<div class="block">Plan balanced task groups for this scan by splitting large and combining small tasks.
<p>Task groups created by this method may read partial input files, multiple input files or
both.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an Iterable of balanced task groups required by this scan</dd>
</dl>
</li>
</ul>
<a id="targetSplitSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>targetSplitSize</h4>
<pre class="methodSignature">long&nbsp;targetSplitSize()</pre>
<div class="block">Returns the target split size for this scan.</div>
</li>
</ul>
<a id="splitLookback()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>splitLookback</h4>
<pre class="methodSignature">int&nbsp;splitLookback()</pre>
<div class="block">Returns the split lookback for this scan.</div>
</li>
</ul>
<a id="splitOpenFileCost()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>splitOpenFileCost</h4>
<pre class="methodSignature">long&nbsp;splitOpenFileCost()</pre>
<div class="block">Returns the split open file cost for this scan.</div>
</li>
</ul>
<a id="metricsReporter(org.apache.iceberg.metrics.MetricsReporter)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>metricsReporter</h4>
<pre class="methodSignature">default&nbsp;<a href="Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;metricsReporter&#8203;(<a href="metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
reporters maintained by the scan.</div>
</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>