Package org.apache.iceberg.flink
Class FlinkCatalog
- java.lang.Object
-
- org.apache.flink.table.catalog.AbstractCatalog
-
- org.apache.iceberg.flink.FlinkCatalog
-
- All Implemented Interfaces:
org.apache.flink.table.catalog.Catalog
public class FlinkCatalog extends org.apache.flink.table.catalog.AbstractCatalogA Flink Catalog implementation that wraps an IcebergCatalog.The mapping between Flink database and Iceberg namespace: Supplying a base namespace for a given catalog, so if you have a catalog that supports a 2-level namespace, you would supply the first level in the catalog configuration and the second level would be exposed as Flink databases.
The Iceberg table manages its partitions by itself. The partition of the Iceberg table is independent of the partition of Flink.
-
-
Constructor Summary
Constructors Constructor Description FlinkCatalog(java.lang.String catalogName, java.lang.String defaultDatabase, Namespace baseNamespace, CatalogLoader catalogLoader, boolean cacheEnabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidalterDatabase(java.lang.String name, org.apache.flink.table.catalog.CatalogDatabase newDatabase, boolean ignoreIfNotExists)voidalterFunction(org.apache.flink.table.catalog.ObjectPath functionPath, org.apache.flink.table.catalog.CatalogFunction newFunction, boolean ignoreIfNotExists)voidalterPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition newPartition, boolean ignoreIfNotExists)voidalterPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists)voidalterPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogTableStatistics partitionStatistics, boolean ignoreIfNotExists)voidalterTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable newTable, boolean ignoreIfNotExists)voidalterTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists)voidalterTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogTableStatistics tableStatistics, boolean ignoreIfNotExists)Catalogcatalog()voidclose()voidcreateDatabase(java.lang.String name, org.apache.flink.table.catalog.CatalogDatabase database, boolean ignoreIfExists)voidcreateFunction(org.apache.flink.table.catalog.ObjectPath functionPath, org.apache.flink.table.catalog.CatalogFunction function, boolean ignoreIfExists)voidcreatePartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition partition, boolean ignoreIfExists)voidcreateTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable table, boolean ignoreIfExists)booleandatabaseExists(java.lang.String databaseName)voiddropDatabase(java.lang.String name, boolean ignoreIfNotExists, boolean cascade)voiddropFunction(org.apache.flink.table.catalog.ObjectPath functionPath, boolean ignoreIfNotExists)voiddropPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, boolean ignoreIfNotExists)voiddropTable(org.apache.flink.table.catalog.ObjectPath tablePath, boolean ignoreIfNotExists)booleanfunctionExists(org.apache.flink.table.catalog.ObjectPath functionPath)org.apache.flink.table.catalog.CatalogDatabasegetDatabase(java.lang.String databaseName)java.util.Optional<org.apache.flink.table.factories.Factory>getFactory()org.apache.flink.table.catalog.CatalogFunctiongetFunction(org.apache.flink.table.catalog.ObjectPath functionPath)org.apache.flink.table.catalog.CatalogPartitiongetPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)org.apache.flink.table.catalog.stats.CatalogColumnStatisticsgetPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)org.apache.flink.table.catalog.stats.CatalogTableStatisticsgetPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)org.apache.flink.table.catalog.CatalogTablegetTable(org.apache.flink.table.catalog.ObjectPath tablePath)org.apache.flink.table.catalog.stats.CatalogColumnStatisticsgetTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath)org.apache.flink.table.catalog.stats.CatalogTableStatisticsgetTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath)java.util.List<java.lang.String>listDatabases()java.util.List<java.lang.String>listFunctions(java.lang.String dbName)java.util.List<org.apache.flink.table.catalog.CatalogPartitionSpec>listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath)java.util.List<org.apache.flink.table.catalog.CatalogPartitionSpec>listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)java.util.List<org.apache.flink.table.catalog.CatalogPartitionSpec>listPartitionsByFilter(org.apache.flink.table.catalog.ObjectPath tablePath, java.util.List<org.apache.flink.table.expressions.Expression> filters)java.util.List<java.lang.String>listTables(java.lang.String databaseName)java.util.List<java.lang.String>listViews(java.lang.String databaseName)voidopen()booleanpartitionExists(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)voidrenameTable(org.apache.flink.table.catalog.ObjectPath tablePath, java.lang.String newTableName, boolean ignoreIfNotExists)booleantableExists(org.apache.flink.table.catalog.ObjectPath tablePath)-
Methods inherited from class org.apache.flink.table.catalog.AbstractCatalog
getDefaultDatabase, getName
-
-
-
-
Constructor Detail
-
FlinkCatalog
public FlinkCatalog(java.lang.String catalogName, java.lang.String defaultDatabase, Namespace baseNamespace, CatalogLoader catalogLoader, boolean cacheEnabled)
-
-
Method Detail
-
open
public void open() throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
close
public void close() throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
catalog
public Catalog catalog()
-
listDatabases
public java.util.List<java.lang.String> listDatabases() throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getDatabase
public org.apache.flink.table.catalog.CatalogDatabase getDatabase(java.lang.String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.DatabaseNotExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
databaseExists
public boolean databaseExists(java.lang.String databaseName) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
createDatabase
public void createDatabase(java.lang.String name, org.apache.flink.table.catalog.CatalogDatabase database, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.DatabaseAlreadyExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.DatabaseAlreadyExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
dropDatabase
public void dropDatabase(java.lang.String name, boolean ignoreIfNotExists, boolean cascade) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException, org.apache.flink.table.catalog.exceptions.DatabaseNotEmptyException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.DatabaseNotExistExceptionorg.apache.flink.table.catalog.exceptions.DatabaseNotEmptyExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
alterDatabase
public void alterDatabase(java.lang.String name, org.apache.flink.table.catalog.CatalogDatabase newDatabase, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.DatabaseNotExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
listTables
public java.util.List<java.lang.String> listTables(java.lang.String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.DatabaseNotExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
getTable
public org.apache.flink.table.catalog.CatalogTable getTable(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.TableNotExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
tableExists
public boolean tableExists(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
dropTable
public void dropTable(org.apache.flink.table.catalog.ObjectPath tablePath, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.TableNotExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
renameTable
public void renameTable(org.apache.flink.table.catalog.ObjectPath tablePath, java.lang.String newTableName, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableAlreadyExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.TableNotExistExceptionorg.apache.flink.table.catalog.exceptions.TableAlreadyExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
createTable
public void createTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable table, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.CatalogException, org.apache.flink.table.catalog.exceptions.TableAlreadyExistException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogExceptionorg.apache.flink.table.catalog.exceptions.TableAlreadyExistException
-
alterTable
public void alterTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable newTable, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException, org.apache.flink.table.catalog.exceptions.TableNotExistException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogExceptionorg.apache.flink.table.catalog.exceptions.TableNotExistException
-
getFactory
public java.util.Optional<org.apache.flink.table.factories.Factory> getFactory()
-
listViews
public java.util.List<java.lang.String> listViews(java.lang.String databaseName) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getPartition
public org.apache.flink.table.catalog.CatalogPartition getPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
partitionExists
public boolean partitionExists(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
createPartition
public void createPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition partition, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
dropPartition
public void dropPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
alterPartition
public void alterPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition newPartition, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
listFunctions
public java.util.List<java.lang.String> listFunctions(java.lang.String dbName) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getFunction
public org.apache.flink.table.catalog.CatalogFunction getFunction(org.apache.flink.table.catalog.ObjectPath functionPath) throws org.apache.flink.table.catalog.exceptions.FunctionNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.FunctionNotExistExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
functionExists
public boolean functionExists(org.apache.flink.table.catalog.ObjectPath functionPath) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
createFunction
public void createFunction(org.apache.flink.table.catalog.ObjectPath functionPath, org.apache.flink.table.catalog.CatalogFunction function, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
alterFunction
public void alterFunction(org.apache.flink.table.catalog.ObjectPath functionPath, org.apache.flink.table.catalog.CatalogFunction newFunction, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
dropFunction
public void dropFunction(org.apache.flink.table.catalog.ObjectPath functionPath, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
alterTableStatistics
public void alterTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogTableStatistics tableStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
alterTableColumnStatistics
public void alterTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
alterPartitionStatistics
public void alterPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogTableStatistics partitionStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
alterPartitionColumnStatistics
public void alterPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
listPartitions
public java.util.List<org.apache.flink.table.catalog.CatalogPartitionSpec> listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableNotPartitionedException, org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.TableNotExistExceptionorg.apache.flink.table.catalog.exceptions.TableNotPartitionedExceptionorg.apache.flink.table.catalog.exceptions.CatalogException
-
listPartitions
public java.util.List<org.apache.flink.table.catalog.CatalogPartitionSpec> listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
listPartitionsByFilter
public java.util.List<org.apache.flink.table.catalog.CatalogPartitionSpec> listPartitionsByFilter(org.apache.flink.table.catalog.ObjectPath tablePath, java.util.List<org.apache.flink.table.expressions.Expression> filters) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getTableStatistics
public org.apache.flink.table.catalog.stats.CatalogTableStatistics getTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getTableColumnStatistics
public org.apache.flink.table.catalog.stats.CatalogColumnStatistics getTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getPartitionStatistics
public org.apache.flink.table.catalog.stats.CatalogTableStatistics getPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
getPartitionColumnStatistics
public org.apache.flink.table.catalog.stats.CatalogColumnStatistics getPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.CatalogException- Throws:
org.apache.flink.table.catalog.exceptions.CatalogException
-
-