blob: e395e000583020b49be7af564aa3c49972e7ad93 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_201) on Thu May 07 13:37:39 PDT 2020 -->
<title>Filterable (iceberg 0.8.0-incubating API)</title>
<meta name="date" content="2020-05-07">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Filterable (iceberg 0.8.0-incubating API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":18,"i1":18,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":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/FileScanTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/FilteredManifest.html" title="class in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/Filterable.html" target="_top">Frames</a></li>
<li><a href="Filterable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.iceberg</div>
<h2 title="Interface Filterable" class="title">Interface Filterable&lt;T extends Filterable&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>T</code> - Java class returned by filter methods, also filterable</dd>
</dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd>java.lang.AutoCloseable, java.io.Closeable, <a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;, java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/iceberg/FilteredManifest.html" title="class in org.apache.iceberg">FilteredManifest</a>, <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Filterable&lt;T extends Filterable&lt;T&gt;&gt;</span>
extends <a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</pre>
<div class="block">Methods to filter files in a snapshot or manifest when reading.</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>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.iceberg.io.CloseableIterable">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.iceberg.io.<a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></h3>
<code><a href="../../../org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="class in org.apache.iceberg.io">CloseableIterable.ConcatCloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/io/CloseableIterable.ConcatCloseableIterable.html" title="type parameter in CloseableIterable.ConcatCloseableIterable">E</a>&gt;</code></li>
</ul>
</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/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#caseInsensitive--">caseInsensitive</a></span>()</code>
<div class="block">Sets case insensitive binding and projection.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#caseSensitive--">caseSensitive</a></span>()</code>
<div class="block">Sets case sensitive binding and projection.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;isCaseSensitive)</code>
<div class="block">Sets case sensitivity.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#filterPartitions-org.apache.iceberg.expressions.Expression-">filterPartitions</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
<div class="block">Adds a filter expression on partition data for matching files.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#filterRows-org.apache.iceberg.expressions.Expression-">filterRows</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
<div class="block">Adds a filter expression on data rows for matching files.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#project-org.apache.iceberg.Schema-">project</a></span>(<a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;fileProjection)</code>
<div class="block">Set the projection from a schema.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#select-java.util.Collection-">select</a></span>(java.util.Collection&lt;java.lang.String&gt;&nbsp;columns)</code>
<div class="block">Selects the columns of a file manifest to read.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Filterable.html#select-java.lang.String...-">select</a></span>(java.lang.String...&nbsp;columns)</code>
<div class="block">Selects the columns of a file manifest to read.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.io.CloseableIterable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.io.<a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></h3>
<code><a href="../../../org/apache/iceberg/io/CloseableIterable.html#combine-java.lang.Iterable-java.io.Closeable-">combine</a>, <a href="../../../org/apache/iceberg/io/CloseableIterable.html#concat-java.lang.Iterable-">concat</a>, <a href="../../../org/apache/iceberg/io/CloseableIterable.html#empty--">empty</a>, <a href="../../../org/apache/iceberg/io/CloseableIterable.html#filter-org.apache.iceberg.io.CloseableIterable-java.util.function.Predicate-">filter</a>, <a href="../../../org/apache/iceberg/io/CloseableIterable.html#transform-org.apache.iceberg.io.CloseableIterable-java.util.function.Function-">transform</a>, <a href="../../../org/apache/iceberg/io/CloseableIterable.html#withNoopClose-E-">withNoopClose</a>, <a href="../../../org/apache/iceberg/io/CloseableIterable.html#withNoopClose-java.lang.Iterable-">withNoopClose</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.Iterable</h3>
<code>forEach, iterator, spliterator</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.io.Closeable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.io.Closeable</h3>
<code>close</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="select-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre>default&nbsp;<a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;select(java.lang.String...&nbsp;columns)</pre>
<div class="block">Selects the columns of a file manifest to read.
<p>
If columns are set multiple times, the last set of columns will be read.
<p>
If the Filterable object has partition filters, they will be added to the returned partial.
<p>
For a list of column names, see the table format specification.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columns</code> - String column names to load from the manifest file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will load only the given columns</dd>
</dl>
</li>
</ul>
<a name="select-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;select(java.util.Collection&lt;java.lang.String&gt;&nbsp;columns)</pre>
<div class="block">Selects the columns of a file manifest to read.
<p>
If columns are set multiple times, the last set of columns will be read.
<p>
If the Filterable object has partition filters, they will be added to the returned partial.
<p>
For a list of column names, see the table format specification.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columns</code> - String column names to load from the manifest file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will load only the given columns</dd>
</dl>
</li>
</ul>
<a name="project-org.apache.iceberg.Schema-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>project</h4>
<pre><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;project(<a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;fileProjection)</pre>
<div class="block">Set the projection from a schema.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fileProjection</code> - a projection of the DataFile schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will load only the given schema's columns</dd>
</dl>
</li>
</ul>
<a name="filterPartitions-org.apache.iceberg.expressions.Expression-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterPartitions</h4>
<pre><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;filterPartitions(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</pre>
<div class="block">Adds a filter expression on partition data for matching files.
<p>
If the Filterable object already has partition filters, the new filter will be added as an
additional requirement. The result filter expression will be the result of expr and any
existing filters.
<p>
If the Filterable object has columns selected, they will be added to the returned partial.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - An expression for filtering this Filterable using partition data</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will load only rows that match expr</dd>
</dl>
</li>
</ul>
<a name="filterRows-org.apache.iceberg.expressions.Expression-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterRows</h4>
<pre><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;filterRows(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</pre>
<div class="block">Adds a filter expression on data rows for matching files.
<p>
Expressions passed to this function will be converted to partition expressions before they are
used to filter data files.
<p>
If the Filterable object already has partition filters, the new filter will be added as an
additional requirement. The result filter expression will be the result of expr and any
existing filters.
<p>
If the Filterable object has columns selected, they will be added to the returned partial.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expr</code> - An expression for filtering this Filterable using row data</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will load only rows that match expr</dd>
</dl>
</li>
</ul>
<a name="caseSensitive-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>caseSensitive</h4>
<pre><a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;caseSensitive(boolean&nbsp;isCaseSensitive)</pre>
<div class="block">Sets case sensitivity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isCaseSensitive</code> - true if expression binding and schema projection should be case sensitive</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will use the specified case sensitivity</dd>
</dl>
</li>
</ul>
<a name="caseSensitive--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>caseSensitive</h4>
<pre>default&nbsp;<a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;caseSensitive()</pre>
<div class="block">Sets case sensitive binding and projection.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will case sensitive binding and projection</dd>
</dl>
</li>
</ul>
<a name="caseInsensitive--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>caseInsensitive</h4>
<pre>default&nbsp;<a href="../../../org/apache/iceberg/Filterable.html" title="type parameter in Filterable">T</a>&nbsp;caseInsensitive()</pre>
<div class="block">Sets case insensitive binding and projection.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Filterable that will case insensitive binding and projection</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/FileScanTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/iceberg/FilteredManifest.html" title="class in org.apache.iceberg"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/iceberg/Filterable.html" target="_top">Frames</a></li>
<li><a href="Filterable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>