public interface Catalog
| Modifier and Type | Interface and Description | 
|---|---|
static interface  | 
Catalog.TableBuilder
A builder used to create valid  
tables or start create/replace transactions. | 
| Modifier and Type | Method and Description | 
|---|---|
default Catalog.TableBuilder | 
buildTable(TableIdentifier identifier,
          Schema schema)
Instantiate a builder to either create a table or start a create/replace transaction. 
 | 
default Table | 
createTable(TableIdentifier identifier,
           Schema schema)
Create an unpartitioned table. 
 | 
default Table | 
createTable(TableIdentifier identifier,
           Schema schema,
           PartitionSpec spec)
Create a table. 
 | 
default Table | 
createTable(TableIdentifier identifier,
           Schema schema,
           PartitionSpec spec,
           java.util.Map<java.lang.String,java.lang.String> properties)
Create a table. 
 | 
Table | 
createTable(TableIdentifier identifier,
           Schema schema,
           PartitionSpec spec,
           java.lang.String location,
           java.util.Map<java.lang.String,java.lang.String> properties)
Create a table. 
 | 
default boolean | 
dropTable(TableIdentifier identifier)
Drop a table and delete all data and metadata files. 
 | 
boolean | 
dropTable(TableIdentifier identifier,
         boolean purge)
Drop a table; optionally delete data and metadata files. 
 | 
default void | 
initialize(java.lang.String name,
          java.util.Map<java.lang.String,java.lang.String> properties)
Initialize a catalog given a custom name and a map of catalog properties. 
 | 
java.util.List<TableIdentifier> | 
listTables(Namespace namespace)
Return all the identifiers under this namespace. 
 | 
Table | 
loadTable(TableIdentifier identifier)
Load a table. 
 | 
default java.lang.String | 
name()
Return the name for this catalog. 
 | 
default Transaction | 
newCreateTableTransaction(TableIdentifier identifier,
                         Schema schema)
Start a transaction to create a table. 
 | 
default Transaction | 
newCreateTableTransaction(TableIdentifier identifier,
                         Schema schema,
                         PartitionSpec spec)
Start a transaction to create a table. 
 | 
default Transaction | 
newCreateTableTransaction(TableIdentifier identifier,
                         Schema schema,
                         PartitionSpec spec,
                         java.util.Map<java.lang.String,java.lang.String> properties)
Start a transaction to create a table. 
 | 
Transaction | 
newCreateTableTransaction(TableIdentifier identifier,
                         Schema schema,
                         PartitionSpec spec,
                         java.lang.String location,
                         java.util.Map<java.lang.String,java.lang.String> properties)
Start a transaction to create a table. 
 | 
default Transaction | 
newReplaceTableTransaction(TableIdentifier identifier,
                          Schema schema,
                          boolean orCreate)
Start a transaction to replace a table. 
 | 
default Transaction | 
newReplaceTableTransaction(TableIdentifier identifier,
                          Schema schema,
                          PartitionSpec spec,
                          boolean orCreate)
Start a transaction to replace a table. 
 | 
default Transaction | 
newReplaceTableTransaction(TableIdentifier identifier,
                          Schema schema,
                          PartitionSpec spec,
                          java.util.Map<java.lang.String,java.lang.String> properties,
                          boolean orCreate)
Start a transaction to replace a table. 
 | 
Transaction | 
newReplaceTableTransaction(TableIdentifier identifier,
                          Schema schema,
                          PartitionSpec spec,
                          java.lang.String location,
                          java.util.Map<java.lang.String,java.lang.String> properties,
                          boolean orCreate)
Start a transaction to replace a table. 
 | 
void | 
renameTable(TableIdentifier from,
           TableIdentifier to)
Rename a table. 
 | 
default boolean | 
tableExists(TableIdentifier identifier)
Check whether table exists. 
 | 
default java.lang.String name()
java.util.List<TableIdentifier> listTables(Namespace namespace)
namespace - a namespaceNotFoundException - if the namespace is not foundTable createTable(TableIdentifier identifier, Schema schema, PartitionSpec spec, java.lang.String location, java.util.Map<java.lang.String,java.lang.String> properties)
identifier - a table identifierschema - a schemaspec - a partition speclocation - a location for the table; leave null if unspecifiedproperties - a string map of table propertiesAlreadyExistsException - if the table already existsdefault Table createTable(TableIdentifier identifier, Schema schema, PartitionSpec spec, java.util.Map<java.lang.String,java.lang.String> properties)
identifier - a table identifierschema - a schemaspec - a partition specproperties - a string map of table propertiesAlreadyExistsException - if the table already existsdefault Table createTable(TableIdentifier identifier, Schema schema, PartitionSpec spec)
identifier - a table identifierschema - a schemaspec - a partition specAlreadyExistsException - if the table already existsdefault Table createTable(TableIdentifier identifier, Schema schema)
identifier - a table identifierschema - a schemaAlreadyExistsException - if the table already existsTransaction newCreateTableTransaction(TableIdentifier identifier, Schema schema, PartitionSpec spec, java.lang.String location, java.util.Map<java.lang.String,java.lang.String> properties)
identifier - a table identifierschema - a schemaspec - a partition speclocation - a location for the table; leave null if unspecifiedproperties - a string map of table propertiesTransaction to create the tableAlreadyExistsException - if the table already existsdefault Transaction newCreateTableTransaction(TableIdentifier identifier, Schema schema, PartitionSpec spec, java.util.Map<java.lang.String,java.lang.String> properties)
identifier - a table identifierschema - a schemaspec - a partition specproperties - a string map of table propertiesTransaction to create the tableAlreadyExistsException - if the table already existsdefault Transaction newCreateTableTransaction(TableIdentifier identifier, Schema schema, PartitionSpec spec)
identifier - a table identifierschema - a schemaspec - a partition specTransaction to create the tableAlreadyExistsException - if the table already existsdefault Transaction newCreateTableTransaction(TableIdentifier identifier, Schema schema)
identifier - a table identifierschema - a schemaTransaction to create the tableAlreadyExistsException - if the table already existsTransaction newReplaceTableTransaction(TableIdentifier identifier, Schema schema, PartitionSpec spec, java.lang.String location, java.util.Map<java.lang.String,java.lang.String> properties, boolean orCreate)
identifier - a table identifierschema - a schemaspec - a partition speclocation - a location for the table; leave null if unspecifiedproperties - a string map of table propertiesorCreate - whether to create the table if not existsTransaction to replace the tableNoSuchTableException - if the table doesn't exist and orCreate is falsedefault Transaction newReplaceTableTransaction(TableIdentifier identifier, Schema schema, PartitionSpec spec, java.util.Map<java.lang.String,java.lang.String> properties, boolean orCreate)
identifier - a table identifierschema - a schemaspec - a partition specproperties - a string map of table propertiesorCreate - whether to create the table if not existsTransaction to replace the tableNoSuchTableException - if the table doesn't exist and orCreate is falsedefault Transaction newReplaceTableTransaction(TableIdentifier identifier, Schema schema, PartitionSpec spec, boolean orCreate)
identifier - a table identifierschema - a schemaspec - a partition specorCreate - whether to create the table if not existsTransaction to replace the tableNoSuchTableException - if the table doesn't exist and orCreate is falsedefault Transaction newReplaceTableTransaction(TableIdentifier identifier, Schema schema, boolean orCreate)
identifier - a table identifierschema - a schemaorCreate - whether to create the table if not existsTransaction to replace the tableNoSuchTableException - if the table doesn't exist and orCreate is falsedefault boolean tableExists(TableIdentifier identifier)
identifier - a table identifierdefault boolean dropTable(TableIdentifier identifier)
identifier - a table identifierboolean dropTable(TableIdentifier identifier, boolean purge)
If purge is set to true the implementation should delete all data and metadata files.
identifier - a table identifierpurge - if true, delete all data and metadata files in the tablevoid renameTable(TableIdentifier from, TableIdentifier to)
from - identifier of the table to renameto - new table nameNoSuchTableException - if the from table does not existAlreadyExistsException - if the to table already existsTable loadTable(TableIdentifier identifier)
identifier - a table identifierTable implementation referred by tableIdentifierNoSuchTableException - if the table does not existdefault Catalog.TableBuilder buildTable(TableIdentifier identifier, Schema schema)
identifier - a table identifierschema - a schemadefault void initialize(java.lang.String name,
                        java.util.Map<java.lang.String,java.lang.String> properties)
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.
name - a custom name for the catalogproperties - catalog properties