<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RewritePositionDeleteFilesProcedure</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="RewritePositionDeleteFilesProcedure";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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><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 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.spark.procedures</a></div>
<h2 title="Class RewritePositionDeleteFilesProcedure" class="title">Class RewritePositionDeleteFilesProcedure</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.spark.procedures.RewritePositionDeleteFilesProcedure</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">RewritePositionDeleteFilesProcedure</span>
extends java.lang.Object</pre>
<div class="block">A procedure that rewrites position delete files in a table.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../actions/SparkActions.html#rewritePositionDeletes(org.apache.iceberg.Table)"><code>SparkActions.rewritePositionDeletes(Table)</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static org.apache.spark.sql.types.DataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STRING_ARRAY">STRING_ARRAY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static org.apache.spark.sql.types.DataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STRING_MAP">STRING_MAP</a></span></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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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 <a href="../actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#actions()">actions</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures">SparkProcedures.ProcedureBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#builder()">builder</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>org.apache.spark.sql.catalyst.InternalRow[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#call(org.apache.spark.sql.catalyst.InternalRow)">call</a></span>&#8203;(org.apache.spark.sql.catalyst.InternalRow&nbsp;args)</code></th>
<td class="colLast">
<div class="block">Executes this procedure.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#closeService()">closeService</a></span>()</code></th>
<td class="colLast">
<div class="block">Closes this procedure's executor service if a new one was created with <code>BaseProcedure.executorService(int, String)</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#description()">description</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the description of this procedure.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected java.util.concurrent.ExecutorService</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executorService(int,java.lang.String)">executorService</a></span>&#8203;(int&nbsp;threadPoolSize,
               java.lang.String&nbsp;nameFormat)</code></th>
<td class="colLast">
<div class="block">Starts a new executor service which can be used by this procedure in its work.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <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="#filterExpression(org.apache.spark.sql.connector.catalog.Identifier,java.lang.String)">filterExpression</a></span>&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                java.lang.String&nbsp;where)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadRows(org.apache.spark.sql.connector.catalog.Identifier,java.util.Map)">loadRows</a></span>&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;tableIdent,
        java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;options)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected <a href="../source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadSparkTable(org.apache.spark.sql.connector.catalog.Identifier)">loadSparkTable</a></span>&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#modifyIcebergTable(org.apache.spark.sql.connector.catalog.Identifier,java.util.function.Function)">modifyIcebergTable</a></span>&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                  java.util.function.Function&lt;<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a>,&#8203;T&gt;&nbsp;func)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected org.apache.spark.sql.catalyst.InternalRow</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newInternalRow(java.lang.Object...)">newInternalRow</a></span>&#8203;(java.lang.Object...&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>org.apache.spark.sql.types.StructType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#outputType()">outputType</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the type of rows produced by this procedure.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../spark/sql/connector/iceberg/catalog/ProcedureParameter.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureParameter</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parameters()">parameters</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the input parameters of this procedure.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#refreshSparkCache(org.apache.spark.sql.connector.catalog.Identifier,org.apache.spark.sql.connector.catalog.Table)">refreshSparkCache</a></span>&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                 org.apache.spark.sql.connector.catalog.Table&nbsp;table)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected org.apache.spark.sql.SparkSession</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#spark()">spark</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected org.apache.spark.sql.connector.catalog.TableCatalog</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tableCatalog()">tableCatalog</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected <a href="../Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toCatalogAndIdentifier(java.lang.String,java.lang.String,org.apache.spark.sql.connector.catalog.CatalogPlugin)">toCatalogAndIdentifier</a></span>&#8203;(java.lang.String&nbsp;identifierAsString,
                      java.lang.String&nbsp;argName,
                      org.apache.spark.sql.connector.catalog.CatalogPlugin&nbsp;catalog)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected org.apache.spark.sql.connector.catalog.Identifier</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toIdentifier(java.lang.String,java.lang.String)">toIdentifier</a></span>&#8203;(java.lang.String&nbsp;identifierAsString,
            java.lang.String&nbsp;argName)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withIcebergTable(org.apache.spark.sql.connector.catalog.Identifier,java.util.function.Function)">withIcebergTable</a></span>&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                java.util.function.Function&lt;<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a>,&#8203;T&gt;&nbsp;func)</code></th>
<td class="colLast">&nbsp;</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">
<!-- ============ FIELD DETAIL =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="STRING_MAP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRING_MAP</h4>
<pre>protected static final&nbsp;org.apache.spark.sql.types.DataType STRING_MAP</pre>
</li>
</ul>
<a id="STRING_ARRAY">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STRING_ARRAY</h4>
<pre>protected static final&nbsp;org.apache.spark.sql.types.DataType STRING_ARRAY</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="builder()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>builder</h4>
<pre class="methodSignature">public static&nbsp;<a href="SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures">SparkProcedures.ProcedureBuilder</a>&nbsp;builder()</pre>
</li>
</ul>
<a id="parameters()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parameters</h4>
<pre class="methodSignature">public&nbsp;<a href="../../../spark/sql/connector/iceberg/catalog/ProcedureParameter.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureParameter</a>[]&nbsp;parameters()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html#parameters()">Procedure</a></code></span></div>
<div class="block">Returns the input parameters of this procedure.</div>
</li>
</ul>
<a id="outputType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>outputType</h4>
<pre class="methodSignature">public&nbsp;org.apache.spark.sql.types.StructType&nbsp;outputType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html#outputType()">Procedure</a></code></span></div>
<div class="block">Returns the type of rows produced by this procedure.</div>
</li>
</ul>
<a id="call(org.apache.spark.sql.catalyst.InternalRow)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>call</h4>
<pre class="methodSignature">public&nbsp;org.apache.spark.sql.catalyst.InternalRow[]&nbsp;call&#8203;(org.apache.spark.sql.catalyst.InternalRow&nbsp;args)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html#call(org.apache.spark.sql.catalyst.InternalRow)">Procedure</a></code></span></div>
<div class="block">Executes this procedure.

 <p>Spark will align the provided arguments according to the input parameters defined in <a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html#parameters()"><code>Procedure.parameters()</code></a> either by position or by name before execution.

 <p>Implementations may provide a summary of execution by returning one or many rows as a
 result. The schema of output rows must match the defined output type in <a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html#outputType()"><code>Procedure.outputType()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>args</code> - input arguments</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result of executing this procedure with the given arguments</dd>
</dl>
</li>
</ul>
<a id="description()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>description</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;description()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../spark/sql/connector/iceberg/catalog/Procedure.html#description()">Procedure</a></code></span></div>
<div class="block">Returns the description of this procedure.</div>
</li>
</ul>
<a id="spark()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spark</h4>
<pre class="methodSignature">protected&nbsp;org.apache.spark.sql.SparkSession&nbsp;spark()</pre>
</li>
</ul>
<a id="actions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>actions</h4>
<pre class="methodSignature">protected&nbsp;<a href="../actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a>&nbsp;actions()</pre>
</li>
</ul>
<a id="tableCatalog()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tableCatalog</h4>
<pre class="methodSignature">protected&nbsp;org.apache.spark.sql.connector.catalog.TableCatalog&nbsp;tableCatalog()</pre>
</li>
</ul>
<a id="modifyIcebergTable(org.apache.spark.sql.connector.catalog.Identifier,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>modifyIcebergTable</h4>
<pre class="methodSignature">protected&nbsp;&lt;T&gt;&nbsp;T&nbsp;modifyIcebergTable&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                                   java.util.function.Function&lt;<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a>,&#8203;T&gt;&nbsp;func)</pre>
</li>
</ul>
<a id="withIcebergTable(org.apache.spark.sql.connector.catalog.Identifier,java.util.function.Function)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIcebergTable</h4>
<pre class="methodSignature">protected&nbsp;&lt;T&gt;&nbsp;T&nbsp;withIcebergTable&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                                 java.util.function.Function&lt;<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a>,&#8203;T&gt;&nbsp;func)</pre>
</li>
</ul>
<a id="toIdentifier(java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toIdentifier</h4>
<pre class="methodSignature">protected&nbsp;org.apache.spark.sql.connector.catalog.Identifier&nbsp;toIdentifier&#8203;(java.lang.String&nbsp;identifierAsString,
                                                                         java.lang.String&nbsp;argName)</pre>
</li>
</ul>
<a id="toCatalogAndIdentifier(java.lang.String,java.lang.String,org.apache.spark.sql.connector.catalog.CatalogPlugin)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toCatalogAndIdentifier</h4>
<pre class="methodSignature">protected&nbsp;<a href="../Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a>&nbsp;toCatalogAndIdentifier&#8203;(java.lang.String&nbsp;identifierAsString,
                                                                 java.lang.String&nbsp;argName,
                                                                 org.apache.spark.sql.connector.catalog.CatalogPlugin&nbsp;catalog)</pre>
</li>
</ul>
<a id="loadSparkTable(org.apache.spark.sql.connector.catalog.Identifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadSparkTable</h4>
<pre class="methodSignature">protected&nbsp;<a href="../source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a>&nbsp;loadSparkTable&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</pre>
</li>
</ul>
<a id="loadRows(org.apache.spark.sql.connector.catalog.Identifier,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadRows</h4>
<pre class="methodSignature">protected&nbsp;org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;&nbsp;loadRows&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;tableIdent,
                                                                          java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;options)</pre>
</li>
</ul>
<a id="refreshSparkCache(org.apache.spark.sql.connector.catalog.Identifier,org.apache.spark.sql.connector.catalog.Table)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>refreshSparkCache</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;refreshSparkCache&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                                 org.apache.spark.sql.connector.catalog.Table&nbsp;table)</pre>
</li>
</ul>
<a id="filterExpression(org.apache.spark.sql.connector.catalog.Identifier,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterExpression</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;filterExpression&#8203;(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                                      java.lang.String&nbsp;where)</pre>
</li>
</ul>
<a id="newInternalRow(java.lang.Object...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newInternalRow</h4>
<pre class="methodSignature">protected&nbsp;org.apache.spark.sql.catalyst.InternalRow&nbsp;newInternalRow&#8203;(java.lang.Object...&nbsp;values)</pre>
</li>
</ul>
<a id="closeService()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeService</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;closeService()</pre>
<div class="block">Closes this procedure's executor service if a new one was created with <code>BaseProcedure.executorService(int, String)</code>. Does not block for any remaining tasks.</div>
</li>
</ul>
<a id="executorService(int,java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>executorService</h4>
<pre class="methodSignature">protected&nbsp;java.util.concurrent.ExecutorService&nbsp;executorService&#8203;(int&nbsp;threadPoolSize,
                                                               java.lang.String&nbsp;nameFormat)</pre>
<div class="block">Starts a new executor service which can be used by this procedure in its work. The pool will be
 automatically shut down if <a href="#withIcebergTable(org.apache.spark.sql.connector.catalog.Identifier,java.util.function.Function)"><code>withIcebergTable(Identifier, Function)</code></a> or <a href="#modifyIcebergTable(org.apache.spark.sql.connector.catalog.Identifier,java.util.function.Function)"><code>modifyIcebergTable(Identifier, Function)</code></a> are called. If these methods are not used then the
 service can be shut down with <a href="#closeService()"><code>closeService()</code></a> or left to be closed when this class is
 finalized.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>threadPoolSize</code> - number of threads in the service</dd>
<dd><code>nameFormat</code> - name prefix for threads created in this service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new executor service owned by this procedure</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><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 id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
