<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>HadoopCatalog</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="HadoopCatalog";
        }
    }
    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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg.hadoop</a></div>
<h2 title="Class HadoopCatalog" class="title">Class HadoopCatalog</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">org.apache.iceberg.BaseMetastoreCatalog</a></li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.hadoop.HadoopCatalog</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Closeable</code>, <code>java.lang.AutoCloseable</code>, <code>org.apache.hadoop.conf.Configurable</code>, <code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code>, <code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">HadoopCatalog</span>
extends <a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a>
implements java.io.Closeable, <a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>, org.apache.hadoop.conf.Configurable</pre>
<div class="block">HadoopCatalog provides a way to use table names like db.table to work with path-based tables under a common
 location. It uses a specified directory under a specified filesystem as the warehouse directory, and organizes
 multiple levels directories that mapped to the database, namespace and the table respectively. The HadoopCatalog
 takes a location as the warehouse directory. When creating a table such as $db.$tbl, it creates $db/$tbl
 directory under the warehouse directory, and put the table metadata into that directory.

 The HadoopCatalog now supports <a href="../catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)"><code>Catalog.createTable(org.apache.iceberg.catalog.TableIdentifier, org.apache.iceberg.Schema, org.apache.iceberg.PartitionSpec, java.lang.String, java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a>,
 <a href="../catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier)"><code>Catalog.dropTable(org.apache.iceberg.catalog.TableIdentifier)</code></a>, the <a href="../catalog/Catalog.html#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)"><code>Catalog.renameTable(org.apache.iceberg.catalog.TableIdentifier, org.apache.iceberg.catalog.TableIdentifier)</code></a>
 is not supported yet.

 Note: The HadoopCatalog requires that the underlying file system supports atomic rename.</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>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.iceberg.BaseMetastoreCatalog">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.iceberg.<a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></h3>
<code><a href="../BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilder.html" title="class in org.apache.iceberg">BaseMetastoreCatalog.BaseMetastoreCatalogTableBuilder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.iceberg.catalog.Catalog">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.iceberg.catalog.<a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></h3>
<code><a href="../catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">HadoopCatalog</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.hadoop.conf.Configuration,java.lang.String)">HadoopCatalog</a></span>&#8203;(org.apache.hadoop.conf.Configuration&nbsp;conf,
             java.lang.String&nbsp;warehouseLocation)</code></th>
<td class="colLast">
<div class="block">The constructor of the HadoopCatalog.</div>
</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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable</a></span>&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier,
          <a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</code></th>
<td class="colLast">
<div class="block">/**
 Instantiate a builder to either create a table or start a create/replace transaction.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createNamespace(org.apache.iceberg.catalog.Namespace,java.util.Map)">createNamespace</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
               java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;meta)</code></th>
<td class="colLast">
<div class="block">Create a namespace in the catalog.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#defaultWarehouseLocation(org.apache.iceberg.catalog.TableIdentifier)">defaultWarehouseLocation</a></span>&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;tableIdentifier)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dropNamespace(org.apache.iceberg.catalog.Namespace)">dropNamespace</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code></th>
<td class="colLast">
<div class="block">Drop a namespace.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">dropTable</a></span>&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier,
         boolean&nbsp;purge)</code></th>
<td class="colLast">
<div class="block">Drop a table; optionally delete data and metadata files.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConf()">getConf</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialize(java.lang.String,java.util.Map)">initialize</a></span>&#8203;(java.lang.String&nbsp;name,
          java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Initialize a catalog given a custom name and a map of catalog properties.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isValidIdentifier(org.apache.iceberg.catalog.TableIdentifier)">isValidIdentifier</a></span>&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#listNamespaces(org.apache.iceberg.catalog.Namespace)">listNamespaces</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code></th>
<td class="colLast">
<div class="block">List namespaces from the namespace.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#listTables(org.apache.iceberg.catalog.Namespace)">listTables</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code></th>
<td class="colLast">
<div class="block">Return all the identifiers under this namespace.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace)">loadNamespaceMetadata</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code></th>
<td class="colLast">
<div class="block">Load metadata properties for a namespace.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#name()">name</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the name for this catalog.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected <a href="../TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newTableOps(org.apache.iceberg.catalog.TableIdentifier)">newTableOps</a></span>&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#properties()">properties</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeProperties(org.apache.iceberg.catalog.Namespace,java.util.Set)">removeProperties</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
                java.util.Set&lt;java.lang.String&gt;&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Remove a set of property keys from a namespace in the catalog.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">renameTable</a></span>&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;from,
           <a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;to)</code></th>
<td class="colLast">
<div class="block">Rename a table.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConf(org.apache.hadoop.conf.Configuration)">setConf</a></span>&#8203;(org.apache.hadoop.conf.Configuration&nbsp;conf)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setProperties(org.apache.iceberg.catalog.Namespace,java.util.Map)">setProperties</a></span>&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
             java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</code></th>
<td class="colLast">
<div class="block">Set a collection of properties on a namespace in the catalog.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.BaseMetastoreCatalog">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.iceberg.<a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></h3>
<code><a href="../BaseMetastoreCatalog.html#fullTableName(java.lang.String,org.apache.iceberg.catalog.TableIdentifier)">fullTableName</a>, <a href="../BaseMetastoreCatalog.html#loadTable(org.apache.iceberg.catalog.TableIdentifier)">loadTable</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.catalog.Catalog">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.catalog.<a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></h3>
<code><a href="../catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">createTable</a>, <a href="../catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec)">createTable</a>, <a href="../catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">createTable</a>, <a href="../catalog/Catalog.html#createTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.util.Map)">createTable</a>, <a href="../catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier)">dropTable</a>, <a href="../catalog/Catalog.html#invalidateTable(org.apache.iceberg.catalog.TableIdentifier)">invalidateTable</a>, <a href="../catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">newCreateTableTransaction</a>, <a href="../catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec)">newCreateTableTransaction</a>, <a href="../catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map)">newCreateTableTransaction</a>, <a href="../catalog/Catalog.html#newCreateTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.util.Map)">newCreateTableTransaction</a>, <a href="../catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,boolean)">newReplaceTableTransaction</a>, <a href="../catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,boolean)">newReplaceTableTransaction</a>, <a href="../catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.lang.String,java.util.Map,boolean)">newReplaceTableTransaction</a>, <a href="../catalog/Catalog.html#newReplaceTableTransaction(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema,org.apache.iceberg.PartitionSpec,java.util.Map,boolean)">newReplaceTableTransaction</a>, <a href="../catalog/Catalog.html#registerTable(org.apache.iceberg.catalog.TableIdentifier,java.lang.String)">registerTable</a>, <a href="../catalog/Catalog.html#tableExists(org.apache.iceberg.catalog.TableIdentifier)">tableExists</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.catalog.SupportsNamespaces">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.iceberg.catalog.<a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></h3>
<code><a href="../catalog/SupportsNamespaces.html#createNamespace(org.apache.iceberg.catalog.Namespace)">createNamespace</a>, <a href="../catalog/SupportsNamespaces.html#listNamespaces()">listNamespaces</a>, <a href="../catalog/SupportsNamespaces.html#namespaceExists(org.apache.iceberg.catalog.Namespace)">namespaceExists</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HadoopCatalog</h4>
<pre>public&nbsp;HadoopCatalog()</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.hadoop.conf.Configuration,java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HadoopCatalog</h4>
<pre>public&nbsp;HadoopCatalog&#8203;(org.apache.hadoop.conf.Configuration&nbsp;conf,
                     java.lang.String&nbsp;warehouseLocation)</pre>
<div class="block">The constructor of the HadoopCatalog. It uses the passed location as its warehouse directory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conf</code> - The Hadoop configuration</dd>
<dd><code>warehouseLocation</code> - The location used as warehouse directory</dd>
</dl>
</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="initialize(java.lang.String,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;initialize&#8203;(java.lang.String&nbsp;name,
                       java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/Catalog.html#initialize(java.lang.String,java.util.Map)">Catalog</a></code></span></div>
<div class="block">Initialize a catalog given a custom name and a map of catalog properties.
 <p>
 A custom Catalog implementation must have a no-arg constructor.
 A compute engine like Spark or Flink will first initialize the catalog without any arguments,
 and then call this method to complete catalog initialization with properties passed into the engine.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/Catalog.html#initialize(java.lang.String,java.util.Map)">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - a custom name for the catalog</dd>
<dd><code>properties</code> - catalog properties</dd>
</dl>
</li>
</ul>
<a id="name()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;name()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/Catalog.html#name()">Catalog</a></code></span></div>
<div class="block">Return the name for this catalog.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/Catalog.html#name()">name</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this catalog's name</dd>
</dl>
</li>
</ul>
<a id="listTables(org.apache.iceberg.catalog.Namespace)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listTables</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&gt;&nbsp;listTables&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/Catalog.html#listTables(org.apache.iceberg.catalog.Namespace)">Catalog</a></code></span></div>
<div class="block">Return all the identifiers under this namespace.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/Catalog.html#listTables(org.apache.iceberg.catalog.Namespace)">listTables</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a namespace</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of identifiers for tables</dd>
</dl>
</li>
</ul>
<a id="isValidIdentifier(org.apache.iceberg.catalog.TableIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValidIdentifier</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;isValidIdentifier&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../BaseMetastoreCatalog.html#isValidIdentifier(org.apache.iceberg.catalog.TableIdentifier)">isValidIdentifier</a></code>&nbsp;in class&nbsp;<code><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></code></dd>
</dl>
</li>
</ul>
<a id="newTableOps(org.apache.iceberg.catalog.TableIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newTableOps</h4>
<pre class="methodSignature">protected&nbsp;<a href="../TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;newTableOps&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../BaseMetastoreCatalog.html#newTableOps(org.apache.iceberg.catalog.TableIdentifier)">newTableOps</a></code>&nbsp;in class&nbsp;<code><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></code></dd>
</dl>
</li>
</ul>
<a id="defaultWarehouseLocation(org.apache.iceberg.catalog.TableIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>defaultWarehouseLocation</h4>
<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;defaultWarehouseLocation&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;tableIdentifier)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../BaseMetastoreCatalog.html#defaultWarehouseLocation(org.apache.iceberg.catalog.TableIdentifier)">defaultWarehouseLocation</a></code>&nbsp;in class&nbsp;<code><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></code></dd>
</dl>
</li>
</ul>
<a id="dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropTable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;dropTable&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier,
                         boolean&nbsp;purge)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">Catalog</a></code></span></div>
<div class="block">Drop a table; optionally delete data and metadata files.
 <p>
 If purge is set to true the implementation should delete all data and metadata files.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/Catalog.html#dropTable(org.apache.iceberg.catalog.TableIdentifier,boolean)">dropTable</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - a table identifier</dd>
<dd><code>purge</code> - if true, delete all data and metadata files in the table</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the table was dropped, false if the table did not exist</dd>
</dl>
</li>
</ul>
<a id="renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>renameTable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;renameTable&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;from,
                        <a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;to)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/Catalog.html#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">Catalog</a></code></span></div>
<div class="block">Rename a table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/Catalog.html#renameTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.catalog.TableIdentifier)">renameTable</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>from</code> - identifier of the table to rename</dd>
<dd><code>to</code> - new table name</dd>
</dl>
</li>
</ul>
<a id="createNamespace(org.apache.iceberg.catalog.Namespace,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createNamespace</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;createNamespace&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
                            java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;meta)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/SupportsNamespaces.html#createNamespace(org.apache.iceberg.catalog.Namespace,java.util.Map)">SupportsNamespaces</a></code></span></div>
<div class="block">Create a namespace in the catalog.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/SupportsNamespaces.html#createNamespace(org.apache.iceberg.catalog.Namespace,java.util.Map)">createNamespace</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a multi-part namespace</dd>
<dd><code>meta</code> - a string Map of properties for the given namespace</dd>
</dl>
</li>
</ul>
<a id="listNamespaces(org.apache.iceberg.catalog.Namespace)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listNamespaces</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&gt;&nbsp;listNamespaces&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/SupportsNamespaces.html#listNamespaces(org.apache.iceberg.catalog.Namespace)">SupportsNamespaces</a></code></span></div>
<div class="block">List namespaces from the namespace.
 <p>
 For example, if table a.b.t exists, use 'SELECT NAMESPACE IN a' this method
 must return Namepace.of("a","b") <a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog"><code>Namespace</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/SupportsNamespaces.html#listNamespaces(org.apache.iceberg.catalog.Namespace)">listNamespaces</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a List of namespace <a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog"><code>Namespace</code></a> names</dd>
</dl>
</li>
</ul>
<a id="dropNamespace(org.apache.iceberg.catalog.Namespace)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropNamespace</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;dropNamespace&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/SupportsNamespaces.html#dropNamespace(org.apache.iceberg.catalog.Namespace)">SupportsNamespaces</a></code></span></div>
<div class="block">Drop a namespace. If the namespace exists and was dropped, this will return true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/SupportsNamespaces.html#dropNamespace(org.apache.iceberg.catalog.Namespace)">dropNamespace</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a namespace. <a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog"><code>Namespace</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the namespace was dropped, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="setProperties(org.apache.iceberg.catalog.Namespace,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperties</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;setProperties&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
                             java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/SupportsNamespaces.html#setProperties(org.apache.iceberg.catalog.Namespace,java.util.Map)">SupportsNamespaces</a></code></span></div>
<div class="block">Set a collection of properties on a namespace in the catalog.
 <p>
 Properties that are not in the given map are not modified or removed by this method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/SupportsNamespaces.html#setProperties(org.apache.iceberg.catalog.Namespace,java.util.Map)">setProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a namespace. <a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog"><code>Namespace</code></a></dd>
<dd><code>properties</code> - a collection of metadata to apply to the namespace</dd>
</dl>
</li>
</ul>
<a id="removeProperties(org.apache.iceberg.catalog.Namespace,java.util.Set)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeProperties</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;removeProperties&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
                                java.util.Set&lt;java.lang.String&gt;&nbsp;properties)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/SupportsNamespaces.html#removeProperties(org.apache.iceberg.catalog.Namespace,java.util.Set)">SupportsNamespaces</a></code></span></div>
<div class="block">Remove a set of property keys from a namespace in the catalog.
 <p>
 Properties that are not in the given set are not modified or removed by this method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/SupportsNamespaces.html#removeProperties(org.apache.iceberg.catalog.Namespace,java.util.Set)">removeProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a namespace. <a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog"><code>Namespace</code></a></dd>
<dd><code>properties</code> - a collection of metadata to apply to the namespace</dd>
</dl>
</li>
</ul>
<a id="loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadNamespaceMetadata</h4>
<pre class="methodSignature">public&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;loadNamespaceMetadata&#8203;(<a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/SupportsNamespaces.html#loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace)">SupportsNamespaces</a></code></span></div>
<div class="block">Load metadata properties for a namespace.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/SupportsNamespaces.html#loadNamespaceMetadata(org.apache.iceberg.catalog.Namespace)">loadNamespaceMetadata</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - a namespace. <a href="../catalog/Namespace.html" title="class in org.apache.iceberg.catalog"><code>Namespace</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string map of properties for the given namespace</dd>
</dl>
</li>
</ul>
<a id="close()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()
           throws java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.io.Closeable</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../BaseMetastoreCatalog.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></code></dd>
</dl>
</li>
</ul>
<a id="buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildTable</h4>
<pre class="methodSignature">public&nbsp;<a href="../catalog/Catalog.TableBuilder.html" title="interface in org.apache.iceberg.catalog">Catalog.TableBuilder</a>&nbsp;buildTable&#8203;(<a href="../catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier,
                                       <a href="../Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../catalog/Catalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">Catalog</a></code></span></div>
<div class="block">/**
 Instantiate a builder to either create a table or start a create/replace transaction.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../catalog/Catalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable</a></code>&nbsp;in interface&nbsp;<code><a href="../catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../BaseMetastoreCatalog.html#buildTable(org.apache.iceberg.catalog.TableIdentifier,org.apache.iceberg.Schema)">buildTable</a></code>&nbsp;in class&nbsp;<code><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - a table identifier</dd>
<dd><code>schema</code> - a schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder to create a table or start a create/replace transaction</dd>
</dl>
</li>
</ul>
<a id="setConf(org.apache.hadoop.conf.Configuration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConf</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setConf&#8203;(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
</dl>
</li>
</ul>
<a id="getConf()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConf</h4>
<pre class="methodSignature">public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;getConf()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
</dl>
</li>
</ul>
<a id="properties()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>properties</h4>
<pre class="methodSignature">protected&nbsp;java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;properties()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../BaseMetastoreCatalog.html#properties()">properties</a></code>&nbsp;in class&nbsp;<code><a href="../BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
