blob: b70f5a4b47ca991140804f052a2695cdf17d796d [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>BaseDeleteLoader</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.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.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.6.1.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="BaseDeleteLoader";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.data</a></div>
<h2 title="Class BaseDeleteLoader" class="title">Class BaseDeleteLoader</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.data.BaseDeleteLoader</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="DeleteLoader.html" title="interface in org.apache.iceberg.data">DeleteLoader</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">BaseDeleteLoader</span>
extends java.lang.Object
implements <a href="DeleteLoader.html" title="interface in org.apache.iceberg.data">DeleteLoader</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.util.function.Function)">BaseDeleteLoader</a></span>&#8203;(java.util.function.Function&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>,&#8203;<a href="../io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>&gt;&nbsp;loadInputFile)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.util.function.Function,java.util.concurrent.ExecutorService)">BaseDeleteLoader</a></span>&#8203;(java.util.function.Function&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>,&#8203;<a href="../io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>&gt;&nbsp;loadInputFile,
java.util.concurrent.ExecutorService&nbsp;workerPool)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#canCache(long)">canCache</a></span>&#8203;(long&nbsp;size)</code></th>
<td class="colLast">
<div class="block">Checks if the given number of bytes can be cached.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected &lt;V&gt;&nbsp;V</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOrLoad(java.lang.String,java.util.function.Supplier,long)">getOrLoad</a></span>&#8203;(java.lang.String&nbsp;key,
java.util.function.Supplier&lt;V&gt;&nbsp;valueSupplier,
long&nbsp;valueSize)</code></th>
<td class="colLast">
<div class="block">Gets the cached value for the key or populates the cache with a new mapping.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadEqualityDeletes(java.lang.Iterable,org.apache.iceberg.Schema)">loadEqualityDeletes</a></span>&#8203;(java.lang.Iterable&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles,
<a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;projection)</code></th>
<td class="colLast">
<div class="block">Loads the content of equality delete files into a set.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes">PositionDeleteIndex</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadPositionDeletes(java.lang.Iterable,java.lang.CharSequence)">loadPositionDeletes</a></span>&#8203;(java.lang.Iterable&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles,
java.lang.CharSequence&nbsp;filePath)</code></th>
<td class="colLast">
<div class="block">Loads the content of position delete files for a given data file path into a position index.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.util.function.Function)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BaseDeleteLoader</h4>
<pre>public&nbsp;BaseDeleteLoader&#8203;(java.util.function.Function&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>,&#8203;<a href="../io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>&gt;&nbsp;loadInputFile)</pre>
</li>
</ul>
<a id="&lt;init&gt;(java.util.function.Function,java.util.concurrent.ExecutorService)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BaseDeleteLoader</h4>
<pre>public&nbsp;BaseDeleteLoader&#8203;(java.util.function.Function&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>,&#8203;<a href="../io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>&gt;&nbsp;loadInputFile,
java.util.concurrent.ExecutorService&nbsp;workerPool)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="canCache(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canCache</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;canCache&#8203;(long&nbsp;size)</pre>
<div class="block">Checks if the given number of bytes can be cached.
<p>Implementations should override this method if they support caching. It is also recommended
to use the provided size as a guideline to decide whether the value is eligible for caching.
For instance, it may be beneficial to discard values that are too large to optimize the cache
performance and utilization.</div>
</li>
</ul>
<a id="getOrLoad(java.lang.String,java.util.function.Supplier,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrLoad</h4>
<pre class="methodSignature">protected&nbsp;&lt;V&gt;&nbsp;V&nbsp;getOrLoad&#8203;(java.lang.String&nbsp;key,
java.util.function.Supplier&lt;V&gt;&nbsp;valueSupplier,
long&nbsp;valueSize)</pre>
<div class="block">Gets the cached value for the key or populates the cache with a new mapping.
<p>If the value for the specified key is in the cache, it should be returned. If the value is
not in the cache, implementations should compute the value using the provided supplier, cache
it, and then return it.
<p>This method will be called only if <a href="#canCache(long)"><code>canCache(long)</code></a> returned true.</div>
</li>
</ul>
<a id="loadEqualityDeletes(java.lang.Iterable,org.apache.iceberg.Schema)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadEqualityDeletes</h4>
<pre class="methodSignature">public&nbsp;<a href="../util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a>&nbsp;loadEqualityDeletes&#8203;(java.lang.Iterable&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles,
<a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;projection)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DeleteLoader.html#loadEqualityDeletes(java.lang.Iterable,org.apache.iceberg.Schema)">DeleteLoader</a></code></span></div>
<div class="block">Loads the content of equality delete files into a set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DeleteLoader.html#loadEqualityDeletes(java.lang.Iterable,org.apache.iceberg.Schema)">loadEqualityDeletes</a></code>&nbsp;in interface&nbsp;<code><a href="DeleteLoader.html" title="interface in org.apache.iceberg.data">DeleteLoader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deleteFiles</code> - equality delete files</dd>
<dd><code>projection</code> - a projection of columns to load</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a set of equality deletes</dd>
</dl>
</li>
</ul>
<a id="loadPositionDeletes(java.lang.Iterable,java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>loadPositionDeletes</h4>
<pre class="methodSignature">public&nbsp;<a href="../deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes">PositionDeleteIndex</a>&nbsp;loadPositionDeletes&#8203;(java.lang.Iterable&lt;<a href="../DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles,
java.lang.CharSequence&nbsp;filePath)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DeleteLoader.html#loadPositionDeletes(java.lang.Iterable,java.lang.CharSequence)">DeleteLoader</a></code></span></div>
<div class="block">Loads the content of position delete files for a given data file path into a position index.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DeleteLoader.html#loadPositionDeletes(java.lang.Iterable,java.lang.CharSequence)">loadPositionDeletes</a></code>&nbsp;in interface&nbsp;<code><a href="DeleteLoader.html" title="interface in org.apache.iceberg.data">DeleteLoader</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deleteFiles</code> - position delete files</dd>
<dd><code>filePath</code> - the data file path for which to load deletes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a position delete index for the provided data file path</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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>