Class TableFactoryUtil


  • @Internal
    public class TableFactoryUtil
    extends Object
    Utility for dealing with TableFactory using the TableFactoryService.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static org.apache.flink.table.factories.CatalogStoreFactory.Context buildCatalogStoreFactoryContext​(org.apache.flink.configuration.Configuration configuration, ClassLoader classLoader)
      Build a CatalogStoreFactory.Context for opening the CatalogStoreFactory.
      static Optional<org.apache.flink.table.legacy.sinks.TableSink> createTableSinkForCatalogTable​(org.apache.flink.table.catalog.Catalog catalog, org.apache.flink.table.legacy.factories.TableSinkFactory.Context context)
      Creates a table sink for a CatalogTable using table factory associated with the catalog.
      static org.apache.flink.table.factories.CatalogStoreFactory findAndCreateCatalogStoreFactory​(org.apache.flink.configuration.Configuration configuration, ClassLoader classLoader)
      Finds and creates a CatalogStoreFactory using the provided Configuration and user classloader.
      static <T> org.apache.flink.table.legacy.sinks.TableSink<T> findAndCreateTableSink​(org.apache.flink.table.catalog.Catalog catalog, org.apache.flink.table.catalog.ObjectIdentifier objectIdentifier, org.apache.flink.table.catalog.CatalogTable catalogTable, org.apache.flink.configuration.ReadableConfig configuration, boolean isStreamingMode, boolean isTemporary)
      Creates a TableSink from a CatalogTable.
      static <T> org.apache.flink.table.legacy.sinks.TableSink<T> findAndCreateTableSink​(org.apache.flink.table.legacy.factories.TableSinkFactory.Context context)
      Returns a table sink matching the context.
      static <T> org.apache.flink.table.legacy.sources.TableSource<T> findAndCreateTableSource​(org.apache.flink.table.catalog.Catalog catalog, org.apache.flink.table.catalog.ObjectIdentifier objectIdentifier, org.apache.flink.table.catalog.CatalogTable catalogTable, org.apache.flink.configuration.ReadableConfig configuration, boolean isTemporary)
      Creates a TableSource from a CatalogTable.
      static <T> org.apache.flink.table.legacy.sources.TableSource<T> findAndCreateTableSource​(org.apache.flink.table.legacy.factories.TableSourceFactory.Context context)
      Returns a table source matching the descriptor.
      static List<CatalogModificationListener> findCatalogModificationListenerList​(org.apache.flink.configuration.ReadableConfig configuration, ClassLoader classLoader)
      Find and create modification listener list from configuration.
      static boolean isLegacyConnectorOptions​(org.apache.flink.table.catalog.Catalog catalog, org.apache.flink.configuration.ReadableConfig configuration, boolean isStreamingMode, org.apache.flink.table.catalog.ObjectIdentifier objectIdentifier, org.apache.flink.table.catalog.CatalogTable catalogTable, boolean isTemporary)
      Checks whether the CatalogTable uses legacy connector sink options.
    • Constructor Detail

      • TableFactoryUtil

        public TableFactoryUtil()
    • Method Detail

      • findAndCreateTableSource

        public static <T> org.apache.flink.table.legacy.sources.TableSource<T> findAndCreateTableSource​(org.apache.flink.table.legacy.factories.TableSourceFactory.Context context)
        Returns a table source matching the descriptor.
      • findAndCreateTableSource

        public static <T> org.apache.flink.table.legacy.sources.TableSource<T> findAndCreateTableSource​(@Nullable
                                                                                                        org.apache.flink.table.catalog.Catalog catalog,
                                                                                                        org.apache.flink.table.catalog.ObjectIdentifier objectIdentifier,
                                                                                                        org.apache.flink.table.catalog.CatalogTable catalogTable,
                                                                                                        org.apache.flink.configuration.ReadableConfig configuration,
                                                                                                        boolean isTemporary)
        Creates a TableSource from a CatalogTable.

        It considers Catalog.getFactory() if provided.

      • findAndCreateTableSink

        public static <T> org.apache.flink.table.legacy.sinks.TableSink<T> findAndCreateTableSink​(org.apache.flink.table.legacy.factories.TableSinkFactory.Context context)
        Returns a table sink matching the context.
      • findAndCreateTableSink

        public static <T> org.apache.flink.table.legacy.sinks.TableSink<T> findAndCreateTableSink​(@Nullable
                                                                                                  org.apache.flink.table.catalog.Catalog catalog,
                                                                                                  org.apache.flink.table.catalog.ObjectIdentifier objectIdentifier,
                                                                                                  org.apache.flink.table.catalog.CatalogTable catalogTable,
                                                                                                  org.apache.flink.configuration.ReadableConfig configuration,
                                                                                                  boolean isStreamingMode,
                                                                                                  boolean isTemporary)
        Creates a TableSink from a CatalogTable.

        It considers Catalog.getFactory() if provided.

      • createTableSinkForCatalogTable

        public static Optional<org.apache.flink.table.legacy.sinks.TableSink> createTableSinkForCatalogTable​(org.apache.flink.table.catalog.Catalog catalog,
                                                                                                             org.apache.flink.table.legacy.factories.TableSinkFactory.Context context)
        Creates a table sink for a CatalogTable using table factory associated with the catalog.
      • isLegacyConnectorOptions

        public static boolean isLegacyConnectorOptions​(@Nullable
                                                       org.apache.flink.table.catalog.Catalog catalog,
                                                       org.apache.flink.configuration.ReadableConfig configuration,
                                                       boolean isStreamingMode,
                                                       org.apache.flink.table.catalog.ObjectIdentifier objectIdentifier,
                                                       org.apache.flink.table.catalog.CatalogTable catalogTable,
                                                       boolean isTemporary)
        Checks whether the CatalogTable uses legacy connector sink options.
      • findCatalogModificationListenerList

        public static List<CatalogModificationListener> findCatalogModificationListenerList​(org.apache.flink.configuration.ReadableConfig configuration,
                                                                                            ClassLoader classLoader)
        Find and create modification listener list from configuration.
      • findAndCreateCatalogStoreFactory

        public static org.apache.flink.table.factories.CatalogStoreFactory findAndCreateCatalogStoreFactory​(org.apache.flink.configuration.Configuration configuration,
                                                                                                            ClassLoader classLoader)
        Finds and creates a CatalogStoreFactory using the provided Configuration and user classloader.

        The configuration format should be as follows:

        
         table.catalog-store.kind: {identifier}
         table.catalog-store.{identifier}.{param1}: xxx
         table.catalog-store.{identifier}.{param2}: xxx
         
      • buildCatalogStoreFactoryContext

        public static org.apache.flink.table.factories.CatalogStoreFactory.Context buildCatalogStoreFactoryContext​(org.apache.flink.configuration.Configuration configuration,
                                                                                                                   ClassLoader classLoader)
        Build a CatalogStoreFactory.Context for opening the CatalogStoreFactory.

        The configuration format should be as follows:

        
         table.catalog-store.kind: {identifier}
         table.catalog-store.{identifier}.{param1}: xxx
         table.catalog-store.{identifier}.{param2}: xxx