Class FlinkCatalogFactory

java.lang.Object
org.apache.iceberg.flink.FlinkCatalogFactory
All Implemented Interfaces:
org.apache.flink.table.factories.CatalogFactory, org.apache.flink.table.factories.Factory

public class FlinkCatalogFactory extends Object implements org.apache.flink.table.factories.CatalogFactory
A Flink Catalog factory implementation that creates FlinkCatalog.

This supports the following catalog configuration options:

  • type - Flink catalog factory key, should be "iceberg"
  • catalog-type - iceberg catalog type, "hive", "hadoop" or "rest"
  • uri - the Hive Metastore URI (Hive catalog only)
  • clients - the Hive Client Pool Size (Hive catalog only)
  • warehouse - the warehouse path (Hadoop catalog only)
  • default-database - a database name to use as the default
  • base-namespace - a base namespace as the prefix for all databases (Hadoop catalog only)
  • cache-enabled - whether to enable catalog cache

To use a custom catalog that is not a Hive or Hadoop catalog, extend this class and override createCatalogLoader(String, Map, Configuration).

  • Field Details

  • Constructor Details

    • FlinkCatalogFactory

      public FlinkCatalogFactory()
  • Method Details

    • factoryIdentifier

      public String factoryIdentifier()
      Specified by:
      factoryIdentifier in interface org.apache.flink.table.factories.Factory
    • requiredOptions

      public Set<org.apache.flink.configuration.ConfigOption<?>> requiredOptions()
      Specified by:
      requiredOptions in interface org.apache.flink.table.factories.Factory
    • optionalOptions

      public Set<org.apache.flink.configuration.ConfigOption<?>> optionalOptions()
      Specified by:
      optionalOptions in interface org.apache.flink.table.factories.Factory
    • createCatalog

      public org.apache.flink.table.catalog.Catalog createCatalog(org.apache.flink.table.factories.CatalogFactory.Context context)
      Specified by:
      createCatalog in interface org.apache.flink.table.factories.CatalogFactory
    • createCatalog

      protected org.apache.flink.table.catalog.Catalog createCatalog(String name, Map<String,String> properties, org.apache.hadoop.conf.Configuration hadoopConf)
    • clusterHadoopConf

      public static org.apache.hadoop.conf.Configuration clusterHadoopConf()