<!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>Deprecated List</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="Deprecated List";
        }
    }
    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>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.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 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#interface">Deprecated Interfaces</a></li>
<li><a href="#class">Deprecated Classes</a></li>
<li><a href="#exception">Deprecated Exceptions</a></li>
<li><a href="#field">Deprecated Fields</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
</ul>
</div>
<div class="contentContainer"><a name="interface">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Interfaces table, listing deprecated interfaces, and an explanation">
<caption><span>Deprecated Interfaces</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Interface and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/encryption/KmsClient.html" title="interface in org.apache.iceberg.encryption">org.apache.iceberg.encryption.KmsClient</a>
<div class="block"><span class="deprecationComment">the API will be removed in v2.0.0 (replaced with KeyManagementClient interface).</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/metrics/MetricsContext.Counter.html" title="interface in org.apache.iceberg.metrics">org.apache.iceberg.metrics.MetricsContext.Counter</a>
<div class="block"><span class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/Counter.html" title="interface in org.apache.iceberg.metrics"><code>Counter</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseExpireSnapshotsActionResult</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">org.apache.iceberg.spark.FileScanTaskSetManager</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><code>ScanTaskSetManager</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="class in org.apache.iceberg.parquet">org.apache.iceberg.parquet.ParquetWriteAdapter</a>
<div class="block"><span class="deprecationComment">use <code>ParquetWriter</code></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="exception">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Exceptions table, listing deprecated exceptions, and an explanation">
<caption><span>Deprecated Exceptions</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Exceptions and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">org.apache.iceberg.exceptions.RuntimeIOException</a>
<div class="block"><span class="deprecationComment">Use java.io.UncheckedIOException directly instead.
     <p>Exception used to wrap <code>IOException</code> as a <code>RuntimeException</code> and add context.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED">org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED</a>
<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED</code></a> to control token
     refresh behavior.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</a>
<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED_DEFAULT"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED_DEFAULT</code></a> to control
     default token refresh behavior.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">org.apache.iceberg.spark.SparkReadOptions.FILE_SCAN_TASK_SET_ID</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use SCAN_TASK_SET_ID instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#HMS_TABLE_OWNER">org.apache.iceberg.TableProperties.HMS_TABLE_OWNER</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use the HMS_TABLE_OWNER constant from HiveCatalog</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED">org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED</a>
<div class="block"><span class="deprecationComment">will be removed in 2.0.0, writing manifest lists is always enabled</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED_DEFAULT">org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED_DEFAULT</a>
<div class="block"><span class="deprecationComment">will be removed in 2.0.0, writing manifest lists is always enabled</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED">org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED</a>
<div class="block"><span class="deprecationComment">will be removed once Spark 3.1 support is dropped, the cardinality check is always
     performed starting from 0.13.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT</a>
<div class="block"><span class="deprecationComment">will be removed once Spark 3.1 support is dropped, the cardinality check is always
     performed starting from 0.13.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_PATH">org.apache.iceberg.TableProperties.OBJECT_STORE_PATH</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION"><code>TableProperties.WRITE_DATA_LOCATION</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#tokenNames">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.tokenNames</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#VOCABULARY"><code>IcebergSqlExtensionsParser.VOCABULARY</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#tokenNames">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.tokenNames</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#VOCABULARY"><code>IcebergSqlExtensionsLexer.VOCABULARY</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#WRITE_FOLDER_STORAGE_LOCATION">org.apache.iceberg.TableProperties.WRITE_FOLDER_STORAGE_LOCATION</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION"><code>TableProperties.WRITE_DATA_LOCATION</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/TableScan.html#appendsAfter-long-">org.apache.iceberg.TableScan.appendsAfter(long)</a>
<div class="block"><span class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="org/apache/iceberg/Table.html#newIncrementalAppendScan--"><code>Table.newIncrementalAppendScan()</code></a>
     instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/TableScan.html#appendsBetween-long-long-">org.apache.iceberg.TableScan.appendsBetween(long, long)</a>
<div class="block"><span class="deprecationComment">since 1.0.0, will be removed in 2.0.0; use <a href="org/apache/iceberg/Table.html#newIncrementalAppendScan--"><code>Table.newIncrementalAppendScan()</code></a>
     instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transform.html#apply-S-">org.apache.iceberg.transforms.Transform.apply(S)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transform.html#bind-org.apache.iceberg.types.Type-"><code>Transform.bind(Type)</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#bucket-org.apache.iceberg.types.Type-int-">org.apache.iceberg.transforms.Transforms.bucket(Type, int)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#bucket-int-"><code>Transforms.bucket(int)</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/rest/HTTPClient.html#builder--">org.apache.iceberg.rest.HTTPClient.builder()</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-"><code>HTTPClient.builder(Map)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-">org.apache.iceberg.spark.data.vectorized.VectorizedSparkParquetReaders.buildReader(Schema, MessageType, boolean)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
     DeleteFilter)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-">org.apache.iceberg.spark.data.vectorized.VectorizedSparkParquetReaders.buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
     DeleteFilter)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-org.apache.iceberg.data.DeleteFilter-">org.apache.iceberg.spark.data.vectorized.VectorizedSparkParquetReaders.buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;, DeleteFilter&lt;InternalRow&gt;)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
     DeleteFilter)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/aws/AwsClientFactories.html#configureEndpoint-T-java.lang.String-">org.apache.iceberg.aws.AwsClientFactories.configureEndpoint(T, String)</a>
<div class="block"><span class="deprecationComment">Not for public use. To configure the endpoint for a client, please use <a href="org/apache/iceberg/aws/AwsProperties.html#applyS3EndpointConfigurations-T-"><code>AwsProperties.applyS3EndpointConfigurations(S3ClientBuilder)</code></a>, <a href="org/apache/iceberg/aws/AwsProperties.html#applyGlueEndpointConfigurations-T-"><code>AwsProperties.applyGlueEndpointConfigurations(GlueClientBuilder)</code></a>, or <a href="org/apache/iceberg/aws/AwsProperties.html#applyDynamoDbEndpointConfigurations-T-"><code>AwsProperties.applyDynamoDbEndpointConfigurations(DynamoDbClientBuilder)</code></a> accordingly. It
     will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/aws/AwsClientFactories.html#configureHttpClientBuilder-java.lang.String-">org.apache.iceberg.aws.AwsClientFactories.configureHttpClientBuilder(String)</a>
<div class="block"><span class="deprecationComment">Not for public use. To configure the httpClient for a client, please use <a href="org/apache/iceberg/aws/AwsProperties.html#applyHttpClientConfigurations-T-"><code>AwsProperties.applyHttpClientConfigurations(AwsSyncClientBuilder)</code></a>. It will be removed in
     2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/metrics/MetricsContext.Counter.html#count--">org.apache.iceberg.metrics.MetricsContext.Counter.count()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/metrics/Counter.html#value--"><code>Counter.value()</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/metrics/MetricsContext.html#counter-java.lang.String-java.lang.Class-org.apache.iceberg.metrics.MetricsContext.Unit-">org.apache.iceberg.metrics.MetricsContext.counter(String, Class&lt;T&gt;, MetricsContext.Unit)</a>
<div class="block"><span class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/MetricsContext.html#counter-java.lang.String-org.apache.iceberg.metrics.MetricsContext.Unit-"><code>MetricsContext.counter(String, Unit)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/metrics/DefaultMetricsContext.html#counter-java.lang.String-java.lang.Class-org.apache.iceberg.metrics.MetricsContext.Unit-">org.apache.iceberg.metrics.DefaultMetricsContext.counter(String, Class&lt;T&gt;, MetricsContext.Unit)</a>
<div class="block"><span class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/Counter.html" title="interface in org.apache.iceberg.metrics"><code>Counter</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#day-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.day(Type)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#day--"><code>Transforms.day()</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/spark/SparkReadConf.html#fileScanTaskSetId--">org.apache.iceberg.spark.SparkReadConf.fileScanTaskSetId()</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/SparkReadConf.html#scanTaskSetId--"><code>SparkReadConf.scanTaskSetId()</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/MetricsConfig.html#fromProperties-java.util.Map-">org.apache.iceberg.MetricsConfig.fromProperties(Map&lt;String, String&gt;)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/MetricsConfig.html#forTable-org.apache.iceberg.Table-"><code>MetricsConfig.forTable(Table)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-">org.apache.iceberg.spark.Spark3Util.getPartitions(SparkSession, Path, String, Map&lt;String, String&gt;)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-"><code>Spark3Util.getPartitions(SparkSession, Path, String, Map,
     PartitionSpec)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#getTokenNames--">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.getTokenNames()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#getTokenNames--">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.getTokenNames()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/Partitioning.html#groupingKeyType-java.util.Collection-">org.apache.iceberg.Partitioning.groupingKeyType(Collection&lt;PartitionSpec&gt;)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-"><code>Partitioning.groupingKeyType(Schema, Collection)</code></a> instead; will be removed in 1.3.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#hour-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.hour(Type)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#hour--"><code>Transforms.hour()</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#identity-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.identity(Type)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#identity--"><code>Transforms.identity()</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-">org.apache.iceberg.spark.SparkTableUtil.listPartition(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">org.apache.iceberg.spark.SparkTableUtil.listPartition(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig, NameMapping)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/spark/SparkTableUtil.html#loadCatalogMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">org.apache.iceberg.spark.SparkTableUtil.loadCatalogMetadataTable(SparkSession, Table, MetadataTableType)</a>
<div class="block"><span class="deprecationComment">since 0.14.0, will be removed in 0.15.0; use <a href="org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-"><code>SparkTableUtil.loadMetadataTable(SparkSession, Table, MetadataTableType)</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#month-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.month(Type)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#month--"><code>Transforms.month()</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/BaseMetadataTable.html#operations--">org.apache.iceberg.BaseMetadataTable.operations()</a>
<div class="block"><span class="deprecationComment">will be removed in 2.0.0; do not use metadata table TableOperations</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#properties-java.util.Map-">org.apache.iceberg.flink.source.FlinkSource.Builder.properties(Map&lt;String, String&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#setAll-java.util.Map-"><code>FlinkSource.Builder.setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#properties-java.util.Map-">org.apache.iceberg.flink.source.IcebergSource.Builder.properties(Map&lt;String, String&gt;)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#setAll-java.util.Map-"><code>IcebergSource.Builder.setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/aws/AwsClientFactories.html#s3Configuration-java.lang.Boolean-java.lang.Boolean-">org.apache.iceberg.aws.AwsClientFactories.s3Configuration(Boolean, Boolean)</a>
<div class="block"><span class="deprecationComment">Not for public use. To build an S3Configuration object, use
     S3Configuration.builder() directly. It will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">org.apache.iceberg.jdbc.JdbcCatalog.setConf(Configuration)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-"><code>JdbcCatalog.setConf(Object)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">org.apache.iceberg.rest.RESTSessionCatalog.setConf(Configuration)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-"><code>RESTSessionCatalog.setConf(Object)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">org.apache.iceberg.rest.RESTCatalog.setConf(Configuration)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-"><code>RESTCatalog.setConf(Object)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transform.html#toHumanString-T-">org.apache.iceberg.transforms.Transform.toHumanString(T)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transform.html#toHumanString-org.apache.iceberg.types.Type-T-"><code>Transform.toHumanString(Type, Object)</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#truncate-org.apache.iceberg.types.Type-int-">org.apache.iceberg.transforms.Transforms.truncate(Type, int)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#truncate-int-"><code>Transforms.truncate(int)</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#year-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.year(Type)</a>
<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#year--"><code>Transforms.year()</code></a> instead; will be removed in 2.0.0</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-">org.apache.iceberg.rest.auth.OAuth2Util.AuthSession(Map&lt;String, String&gt;, String, String)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"><code>AuthSession(Map, String, String,
     String, String)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-">org.apache.iceberg.actions.BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int)</a>
<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; use <code>BaseFileGroupRewriteResult#BaseFileGroupRewriteResult(FileGroupInfo, int, int, long)</code>
     instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/BaseMetadataTable.html#BaseMetadataTable-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-java.lang.String-">org.apache.iceberg.BaseMetadataTable(TableOperations, Table, String)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use BaseMetadataTable(Table, String) instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-">org.apache.iceberg.DataTableScan(TableOperations, Table)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
     instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">org.apache.iceberg.DataTableScan(TableOperations, Table, Schema, TableScanContext)</a>
<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
     instead.</span></div>
</td>
</tr>
</tbody>
</table>
</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>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.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>
