<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>org.apache.iceberg.spark Class Hierarchy</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="org.apache.iceberg.spark Class Hierarchy";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/iceberg/snowflake/package-tree.html">Prev</a></li>
<li><a href="../../../../org/apache/iceberg/spark/actions/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/iceberg/spark/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Hierarchy For Package org.apache.iceberg.spark</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ChangelogIterator</span></a> (implements java.util.Iterator&lt;E&gt;)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/CommitMetadata.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">CommitMetadata</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ExtendedParser.RawOrderField</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileRewriteCoordinator</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileScanTaskSetManager</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">IcebergSpark</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">JobGroupInfo</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">JobGroupUtils</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PathIdentifier</span></a> (implements org.apache.spark.sql.connector.catalog.Identifier)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">RollbackStagedTable</span></a> (implements org.apache.spark.sql.connector.catalog.StagedTable, org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsWrite)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ScanTaskSetManager</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Spark3Util</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Spark3Util.CatalogAndIdentifier</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkAggregates.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkAggregates</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCachedTableCatalog</span></a> (implements org.apache.spark.sql.connector.catalog.TableCatalog)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCatalog</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDataFile</span></a> (implements org.apache.iceberg.<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDistributionAndOrderingUtil</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkExceptionUtil</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFilters</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkReadConf</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkReadOptions</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSchemaUtil</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSessionCatalog</span></a>&lt;T&gt; (implements org.apache.spark.sql.connector.catalog.CatalogExtension)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSQLProperties</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkStructLike</span></a> (implements org.apache.iceberg.<a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkTableCache</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkTableUtil</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkTableUtil.SparkPartition</span></a> (implements java.io.Serializable)</li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkUtil</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkV2Filters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkV2Filters</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkValueConverter</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteConf</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteOptions</span></a></li>
<li type="circle">org.apache.iceberg.types.<a href="../../../../org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="class in org.apache.iceberg.types"><span class="typeNameLink">TypeUtil.CustomOrderSchemaVisitor</span></a>&lt;T&gt;
<ul>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PruneColumnsWithoutReordering</span></a></li>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PruneColumnsWithReordering</span></a></li>
</ul>
</li>
<li type="circle">org.apache.iceberg.types.<a href="../../../../org/apache/iceberg/types/TypeUtil.SchemaVisitor.html" title="class in org.apache.iceberg.types"><span class="typeNameLink">TypeUtil.SchemaVisitor</span></a>&lt;T&gt;
<ul>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/Spark3Util.DescribeSchemaVisitor.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Spark3Util.DescribeSchemaVisitor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li type="circle">org.apache.spark.sql.catalyst.parser.ParserInterface
<ul>
<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ExtendedParser.html" title="interface in org.apache.iceberg.spark"><span class="typeNameLink">ExtendedParser</span></a></li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/iceberg/snowflake/package-tree.html">Prev</a></li>
<li><a href="../../../../org/apache/iceberg/spark/actions/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/iceberg/spark/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
