| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>DeleteOrphanFilesSparkAction</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="DeleteOrphanFilesSparkAction"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"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,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li>Constr | </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"> </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> <a href="package-summary.html">org.apache.iceberg.spark.actions</a></div> |
| <h2 title="Class DeleteOrphanFilesSparkAction" class="title">Class DeleteOrphanFilesSparkAction</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="../../actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a><<a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a>,​<a href="../../actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a>></code>, <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public class <span class="typeNameLabel">DeleteOrphanFilesSparkAction</span> |
| extends java.lang.Object |
| implements <a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></pre> |
| <div class="block">An action that removes orphan metadata, data and delete files by listing a given location and |
| comparing the actual files in that location with content and metadata files referenced by all |
| valid snapshots. The location must be accessible for listing via the Hadoop <code>FileSystem</code>. |
| |
| <p>By default, this action cleans up the table location returned by <a href="../../Table.html#location()"><code>Table.location()</code></a> and |
| removes unreachable files that are older than 3 days using <a href="../../Table.html#io()"><code>Table.io()</code></a>. The behavior can |
| be modified by passing a custom location to <a href="#location"><code>location</code></a> and a custom timestamp to <a href="#olderThan(long)"><code>olderThan(long)</code></a>. For example, someone might point this action to the data folder to clean up |
| only orphan data files. |
| |
| <p>Configure an alternative delete method using <a href="#deleteWith(java.util.function.Consumer)"><code>deleteWith(Consumer)</code></a>. |
| |
| <p>For full control of the set of files being evaluated, use the <a href="#compareToFileList(org.apache.spark.sql.Dataset)"><code>compareToFileList(Dataset)</code></a> argument. This skips the directory listing - any files in the |
| dataset provided which are not found in table metadata will be deleted, using the same <a href="../../Table.html#location()"><code>Table.location()</code></a> and <a href="#olderThan(long)"><code>olderThan(long)</code></a> filtering as above. |
| |
| <p><em>Note:</em> It is dangerous to call this action with a short retention interval as it might |
| corrupt the state of the table if another operation is writing at the same time.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DeleteOrphanFilesSparkAction.FileURI.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction.FileURI</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.iceberg.actions.DeleteOrphanFiles"> |
| <!-- --> |
| </a> |
| <h3>Nested classes/interfaces inherited from interface org.apache.iceberg.actions.<a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></h3> |
| <code><a href="../../actions/DeleteOrphanFiles.PrefixMismatchMode.html" title="enum in org.apache.iceberg.actions">DeleteOrphanFiles.PrefixMismatchMode</a>, <a href="../../actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <section role="region"> |
| <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"> </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.iceberg.relocated.com.google.common.base.Joiner</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#COMMA_JOINER">COMMA_JOINER</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected static org.apache.iceberg.relocated.com.google.common.base.Splitter</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#COMMA_SPLITTER">COMMA_SPLITTER</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FILE_PATH">FILE_PATH</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#LAST_MODIFIED">LAST_MODIFIED</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MANIFEST">MANIFEST</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MANIFEST_LIST">MANIFEST_LIST</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#OTHERS">OTHERS</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>protected static java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATISTICS_FILES">STATISTICS_FILES</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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 org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allReachableOtherMetadataFileDS(org.apache.iceberg.Table)">allReachableOtherMetadataFileDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compareToFileList(org.apache.spark.sql.Dataset)">compareToFileList</a></span>​(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> files)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contentFileDS(org.apache.iceberg.Table)">contentFileDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contentFileDS(org.apache.iceberg.Table,java.util.Set)">contentFileDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteFiles(java.util.concurrent.ExecutorService,java.util.function.Consumer,java.util.Iterator)">deleteFiles</a></span>​(java.util.concurrent.ExecutorService executorService, |
| java.util.function.Consumer<java.lang.String> deleteFunc, |
| java.util.Iterator<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> files)</code></th> |
| <td class="colLast"> |
| <div class="block">Deletes files and keeps track of how many files were removed for each file type.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteFiles(org.apache.iceberg.io.SupportsBulkOperations,java.util.Iterator)">deleteFiles</a></span>​(<a href="../../io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io">SupportsBulkOperations</a> io, |
| java.util.Iterator<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> files)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deleteWith(java.util.function.Consumer)">deleteWith</a></span>​(java.util.function.Consumer<java.lang.String> newDeleteFunc)</code></th> |
| <td class="colLast"> |
| <div class="block">Passes an alternative delete implementation that will be used for orphan files.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equalAuthorities(java.util.Map)">equalAuthorities</a></span>​(java.util.Map<java.lang.String,​java.lang.String> newEqualAuthorities)</code></th> |
| <td class="colLast"> |
| <div class="block">Passes authorities that should be considered equal.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equalSchemes(java.util.Map)">equalSchemes</a></span>​(java.util.Map<java.lang.String,​java.lang.String> newEqualSchemes)</code></th> |
| <td class="colLast"> |
| <div class="block">Passes schemes that should be considered equal.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="../../actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#execute()">execute</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Executes this action.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executeDeleteWith(java.util.concurrent.ExecutorService)">executeDeleteWith</a></span>​(java.util.concurrent.ExecutorService executorService)</code></th> |
| <td class="colLast"> |
| <div class="block">Passes an alternative executor service that will be used for removing orphaned files.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<org.apache.spark.sql.Row></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadMetadataTable(org.apache.iceberg.Table,org.apache.iceberg.MetadataTableType)">loadMetadataTable</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| <a href="../../MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a> type)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#location(java.lang.String)">location</a></span>​(java.lang.String newLocation)</code></th> |
| <td class="colLast"> |
| <div class="block">Passes a location which should be scanned for orphan files.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#manifestDS(org.apache.iceberg.Table)">manifestDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#manifestDS(org.apache.iceberg.Table,java.util.Set)">manifestDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#manifestListDS(org.apache.iceberg.Table)">manifestListDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#manifestListDS(org.apache.iceberg.Table,java.util.Set)">manifestListDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newJobGroupInfo(java.lang.String,java.lang.String)">newJobGroupInfo</a></span>​(java.lang.String groupId, |
| java.lang.String desc)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>protected <a href="../../Table.html" title="interface in org.apache.iceberg">Table</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newStaticTable(org.apache.iceberg.TableMetadata,org.apache.iceberg.io.FileIO)">newStaticTable</a></span>​(<a href="../../TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a> metadata, |
| <a href="../../io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a> io)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#olderThan(long)">olderThan</a></span>​(long newOlderThanTimestamp)</code></th> |
| <td class="colLast"> |
| <div class="block">Removes orphan files only if they are older than the given timestamp.</div> |
| </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>ThisT</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#option(java.lang.String,java.lang.String)">option</a></span>​(java.lang.String name, |
| java.lang.String value)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>protected java.util.Map<java.lang.String,​java.lang.String></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#options()">options</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>ThisT</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#options(java.util.Map)">options</a></span>​(java.util.Map<java.lang.String,​java.lang.String> newOptions)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#otherMetadataFileDS(org.apache.iceberg.Table)">otherMetadataFileDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code><a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prefixMismatchMode(org.apache.iceberg.actions.DeleteOrphanFiles.PrefixMismatchMode)">prefixMismatchMode</a></span>​(<a href="../../actions/DeleteOrphanFiles.PrefixMismatchMode.html" title="enum in org.apache.iceberg.actions">DeleteOrphanFiles.PrefixMismatchMode</a> newPrefixMismatchMode)</code></th> |
| <td class="colLast"> |
| <div class="block">Passes a prefix mismatch mode that determines how this action should handle situations when the |
| metadata references files that match listed/provided files except for authority/scheme.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#self()">self</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i26" 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"> </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>protected org.apache.spark.api.java.JavaSparkContext</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sparkContext()">sparkContext</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#statisticsFileDS(org.apache.iceberg.Table,java.util.Set)">statisticsFileDS</a></span>​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>protected <T> T</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withJobGroupInfo(org.apache.iceberg.spark.JobGroupInfo,java.util.function.Supplier)">withJobGroupInfo</a></span>​(<a href="../JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a> info, |
| java.util.function.Supplier<T> supplier)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.actions.Action"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface org.apache.iceberg.actions.<a href="../../actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a></h3> |
| <code><a href="../../actions/Action.html#option(java.lang.String,java.lang.String)">option</a>, <a href="../../actions/Action.html#options(java.util.Map)">options</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a id="MANIFEST"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MANIFEST</h4> |
| <pre>protected static final java.lang.String MANIFEST</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction.MANIFEST">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="MANIFEST_LIST"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MANIFEST_LIST</h4> |
| <pre>protected static final java.lang.String MANIFEST_LIST</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction.MANIFEST_LIST">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="STATISTICS_FILES"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>STATISTICS_FILES</h4> |
| <pre>protected static final java.lang.String STATISTICS_FILES</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction.STATISTICS_FILES">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="OTHERS"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>OTHERS</h4> |
| <pre>protected static final java.lang.String OTHERS</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction.OTHERS">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="FILE_PATH"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FILE_PATH</h4> |
| <pre>protected static final java.lang.String FILE_PATH</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction.FILE_PATH">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="LAST_MODIFIED"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>LAST_MODIFIED</h4> |
| <pre>protected static final java.lang.String LAST_MODIFIED</pre> |
| <dl> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction.LAST_MODIFIED">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="COMMA_SPLITTER"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>COMMA_SPLITTER</h4> |
| <pre>protected static final org.apache.iceberg.relocated.com.google.common.base.Splitter COMMA_SPLITTER</pre> |
| </li> |
| </ul> |
| <a id="COMMA_JOINER"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>COMMA_JOINER</h4> |
| <pre>protected static final org.apache.iceberg.relocated.com.google.common.base.Joiner COMMA_JOINER</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="self()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>self</h4> |
| <pre class="methodSignature">protected <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> self()</pre> |
| </li> |
| </ul> |
| <a id="executeDeleteWith(java.util.concurrent.ExecutorService)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>executeDeleteWith</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> executeDeleteWith​(java.util.concurrent.ExecutorService executorService)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#executeDeleteWith(java.util.concurrent.ExecutorService)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Passes an alternative executor service that will be used for removing orphaned files. This |
| service will only be used if a custom delete function is provided by <a href="../../actions/DeleteOrphanFiles.html#deleteWith(java.util.function.Consumer)"><code>DeleteOrphanFiles.deleteWith(Consumer)</code></a> or if the FileIO does not <a href="../../io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io"><code>support bulk |
| deletes</code></a>. Otherwise, parallelism should be controlled by the IO specific <a href="../../io/SupportsBulkOperations.html#deleteFiles(java.lang.Iterable)"><code>deleteFiles</code></a> method. |
| |
| <p>If this method is not called and bulk deletes are not supported, orphaned manifests and data |
| files will still be deleted in the current thread.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#executeDeleteWith(java.util.concurrent.ExecutorService)">executeDeleteWith</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>executorService</code> - the service to use</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="prefixMismatchMode(org.apache.iceberg.actions.DeleteOrphanFiles.PrefixMismatchMode)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>prefixMismatchMode</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> prefixMismatchMode​(<a href="../../actions/DeleteOrphanFiles.PrefixMismatchMode.html" title="enum in org.apache.iceberg.actions">DeleteOrphanFiles.PrefixMismatchMode</a> newPrefixMismatchMode)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#prefixMismatchMode(org.apache.iceberg.actions.DeleteOrphanFiles.PrefixMismatchMode)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Passes a prefix mismatch mode that determines how this action should handle situations when the |
| metadata references files that match listed/provided files except for authority/scheme. |
| |
| <p>Possible values are "ERROR", "IGNORE", "DELETE". The default mismatch mode is "ERROR", which |
| means an exception is thrown whenever there is a mismatch in authority/scheme. It's the |
| recommended mismatch mode and should be changed only in some rare circumstances. If there is a |
| mismatch, use <a href="../../actions/DeleteOrphanFiles.html#equalSchemes(java.util.Map)"><code>DeleteOrphanFiles.equalSchemes(Map)</code></a> and <a href="../../actions/DeleteOrphanFiles.html#equalAuthorities(java.util.Map)"><code>DeleteOrphanFiles.equalAuthorities(Map)</code></a> to resolve |
| conflicts by providing equivalent schemes and authorities. If it is impossible to determine |
| whether the conflicting authorities/schemes are equal, set the prefix mismatch mode to "IGNORE" |
| to skip files with mismatches. If you have manually inspected all conflicting |
| authorities/schemes, provided equivalent schemes/authorities and are absolutely confident the |
| remaining ones are different, set the prefix mismatch mode to "DELETE" to consider files with |
| mismatches as orphan. It will be impossible to recover files after deletion, so the "DELETE" |
| prefix mismatch mode must be used with extreme caution.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#prefixMismatchMode(org.apache.iceberg.actions.DeleteOrphanFiles.PrefixMismatchMode)">prefixMismatchMode</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newPrefixMismatchMode</code> - mode for handling prefix mismatches</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="equalSchemes(java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalSchemes</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> equalSchemes​(java.util.Map<java.lang.String,​java.lang.String> newEqualSchemes)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#equalSchemes(java.util.Map)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Passes schemes that should be considered equal. |
| |
| <p>The key may include a comma-separated list of schemes. For instance, Map("s3a,s3,s3n", |
| "s3").</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#equalSchemes(java.util.Map)">equalSchemes</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newEqualSchemes</code> - list of equal schemes</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="equalAuthorities(java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equalAuthorities</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> equalAuthorities​(java.util.Map<java.lang.String,​java.lang.String> newEqualAuthorities)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#equalAuthorities(java.util.Map)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Passes authorities that should be considered equal. |
| |
| <p>The key may include a comma-separate list of authorities. For instance, Map("s1name,s2name", |
| "servicename").</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#equalAuthorities(java.util.Map)">equalAuthorities</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newEqualAuthorities</code> - list of equal authorities</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="location(java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>location</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> location​(java.lang.String newLocation)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#location(java.lang.String)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Passes a location which should be scanned for orphan files. |
| |
| <p>If not set, the root table location will be scanned potentially removing both orphan data |
| and metadata files.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#location(java.lang.String)">location</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newLocation</code> - the location where to look for orphan files</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="olderThan(long)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>olderThan</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> olderThan​(long newOlderThanTimestamp)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#olderThan(long)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Removes orphan files only if they are older than the given timestamp. |
| |
| <p>This is a safety measure to avoid removing files that are being added to the table. For |
| example, there may be a concurrent operation adding new files while this action searches for |
| orphan files. New files may not be referenced by the metadata yet but they are not orphan. |
| |
| <p>If not set, defaults to a timestamp 3 days ago.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#olderThan(long)">olderThan</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newOlderThanTimestamp</code> - a long timestamp, as returned by <code>System.currentTimeMillis()</code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="deleteWith(java.util.function.Consumer)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deleteWith</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> deleteWith​(java.util.function.Consumer<java.lang.String> newDeleteFunc)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/DeleteOrphanFiles.html#deleteWith(java.util.function.Consumer)">DeleteOrphanFiles</a></code></span></div> |
| <div class="block">Passes an alternative delete implementation that will be used for orphan files. |
| |
| <p>This method allows users to customize the delete function. For example, one may set a custom |
| delete func and collect all orphan files into a set instead of physically removing them. |
| |
| <p>If not set, defaults to using the table's <a href="../../io/FileIO.html" title="interface in org.apache.iceberg.io"><code>io</code></a> |
| implementation.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/DeleteOrphanFiles.html#deleteWith(java.util.function.Consumer)">deleteWith</a></code> in interface <code><a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>newDeleteFunc</code> - a function that will be called to delete files</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>this for method chaining</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="compareToFileList(org.apache.spark.sql.Dataset)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>compareToFileList</h4> |
| <pre class="methodSignature">public <a href="DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a> compareToFileList​(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> files)</pre> |
| </li> |
| </ul> |
| <a id="execute()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>execute</h4> |
| <pre class="methodSignature">public <a href="../../actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a> execute()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../actions/Action.html#execute()">Action</a></code></span></div> |
| <div class="block">Executes this action.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../actions/Action.html#execute()">execute</a></code> in interface <code><a href="../../actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a><<a href="../../actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a>,​<a href="../../actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a>></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the result of this action</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="spark()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>spark</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.SparkSession spark()</pre> |
| </li> |
| </ul> |
| <a id="sparkContext()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>sparkContext</h4> |
| <pre class="methodSignature">protected org.apache.spark.api.java.JavaSparkContext sparkContext()</pre> |
| </li> |
| </ul> |
| <a id="option(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>option</h4> |
| <pre class="methodSignature">public ThisT option​(java.lang.String name, |
| java.lang.String value)</pre> |
| </li> |
| </ul> |
| <a id="options(java.util.Map)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>options</h4> |
| <pre class="methodSignature">public ThisT options​(java.util.Map<java.lang.String,​java.lang.String> newOptions)</pre> |
| </li> |
| </ul> |
| <a id="options()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>options</h4> |
| <pre class="methodSignature">protected java.util.Map<java.lang.String,​java.lang.String> options()</pre> |
| </li> |
| </ul> |
| <a id="withJobGroupInfo(org.apache.iceberg.spark.JobGroupInfo,java.util.function.Supplier)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>withJobGroupInfo</h4> |
| <pre class="methodSignature">protected <T> T withJobGroupInfo​(<a href="../JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a> info, |
| java.util.function.Supplier<T> supplier)</pre> |
| </li> |
| </ul> |
| <a id="newJobGroupInfo(java.lang.String,java.lang.String)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>newJobGroupInfo</h4> |
| <pre class="methodSignature">protected <a href="../JobGroupInfo.html" title="class in org.apache.iceberg.spark">JobGroupInfo</a> newJobGroupInfo​(java.lang.String groupId, |
| java.lang.String desc)</pre> |
| </li> |
| </ul> |
| <a id="newStaticTable(org.apache.iceberg.TableMetadata,org.apache.iceberg.io.FileIO)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>newStaticTable</h4> |
| <pre class="methodSignature">protected <a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> newStaticTable​(<a href="../../TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a> metadata, |
| <a href="../../io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a> io)</pre> |
| </li> |
| </ul> |
| <a id="contentFileDS(org.apache.iceberg.Table)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>contentFileDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> contentFileDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</pre> |
| </li> |
| </ul> |
| <a id="contentFileDS(org.apache.iceberg.Table,java.util.Set)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>contentFileDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> contentFileDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</pre> |
| </li> |
| </ul> |
| <a id="manifestDS(org.apache.iceberg.Table)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>manifestDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> manifestDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</pre> |
| </li> |
| </ul> |
| <a id="manifestDS(org.apache.iceberg.Table,java.util.Set)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>manifestDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> manifestDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</pre> |
| </li> |
| </ul> |
| <a id="manifestListDS(org.apache.iceberg.Table)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>manifestListDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> manifestListDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</pre> |
| </li> |
| </ul> |
| <a id="manifestListDS(org.apache.iceberg.Table,java.util.Set)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>manifestListDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> manifestListDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</pre> |
| </li> |
| </ul> |
| <a id="statisticsFileDS(org.apache.iceberg.Table,java.util.Set)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>statisticsFileDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> statisticsFileDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| java.util.Set<java.lang.Long> snapshotIds)</pre> |
| </li> |
| </ul> |
| <a id="otherMetadataFileDS(org.apache.iceberg.Table)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>otherMetadataFileDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> otherMetadataFileDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</pre> |
| </li> |
| </ul> |
| <a id="allReachableOtherMetadataFileDS(org.apache.iceberg.Table)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>allReachableOtherMetadataFileDS</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> allReachableOtherMetadataFileDS​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table)</pre> |
| </li> |
| </ul> |
| <a id="loadMetadataTable(org.apache.iceberg.Table,org.apache.iceberg.MetadataTableType)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>loadMetadataTable</h4> |
| <pre class="methodSignature">protected org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> loadMetadataTable​(<a href="../../Table.html" title="interface in org.apache.iceberg">Table</a> table, |
| <a href="../../MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a> type)</pre> |
| </li> |
| </ul> |
| <a id="deleteFiles(java.util.concurrent.ExecutorService,java.util.function.Consumer,java.util.Iterator)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>deleteFiles</h4> |
| <pre class="methodSignature">protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary deleteFiles​(java.util.concurrent.ExecutorService executorService, |
| java.util.function.Consumer<java.lang.String> deleteFunc, |
| java.util.Iterator<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> files)</pre> |
| <div class="block">Deletes files and keeps track of how many files were removed for each file type.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>executorService</code> - an executor service to use for parallel deletes</dd> |
| <dd><code>deleteFunc</code> - a delete func</dd> |
| <dd><code>files</code> - an iterator of Spark rows of the structure (path: String, type: String)</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>stats on which files were deleted</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="deleteFiles(org.apache.iceberg.io.SupportsBulkOperations,java.util.Iterator)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>deleteFiles</h4> |
| <pre class="methodSignature">protected org.apache.iceberg.spark.actions.BaseSparkAction.DeleteSummary deleteFiles​(<a href="../../io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io">SupportsBulkOperations</a> io, |
| java.util.Iterator<<a href="FileInfo.html" title="class in org.apache.iceberg.spark.actions">FileInfo</a>> files)</pre> |
| </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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li>Constr | </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> |