Flink Table API& SQL编程指南(Table Factory DDL和Table API)

自定义TableFactory

TableFactory允许从基于字符串的属性创建与表相关的不同实例。调用所有可用的工厂以匹配给定的属性集和相应的工厂类。工厂利用Java’s Service Provider Interfaces (SPI) 进行发现。这意味着每个依赖项和JAR文件都应在META_INF / services资源目录中包含一个文件org.apache.flink.table.factories.TableFactory,该文件列出了它提供的所有可用表工厂。每个Table factory 都需要实现以下接口:

package org.apache.flink.table.factories

trait TableFactory {

  def requiredContext(): util.Map[String, String]

  def supportedProperties(): util.List[String]
}
  • requiredContext():指定为此工厂实现的上下文。该框架保证仅在满足指定的属性和值集的情况下与此工厂匹配。典型的属性可能是connector.type,format.type或update-mode。保留属性键(例如connector.property-version和format.property-version)以用于将来的向后兼容情况。
  • supportedProperties():该工厂可以处理的属性键列表。此方法将用于验证。如果传递了该工厂无法处理的属性,则将引发异常。该列表不得包含上下文指定的键。

为了创建特定实例,工厂类可以实现org.apache.flink.table.factories中

你可能感兴趣的:(Flink实时计算)