[jira] [Created] (FLINK-17887) Improve interface of ScanFormatFactory and SinkFormatFactory

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-17887) Improve interface of ScanFormatFactory and SinkFormatFactory

Shang Yuanchun (Jira)
Jark Wu created FLINK-17887:
-------------------------------

             Summary: Improve interface of ScanFormatFactory and SinkFormatFactory
                 Key: FLINK-17887
                 URL: https://issues.apache.org/jira/browse/FLINK-17887
             Project: Flink
          Issue Type: Sub-task
          Components: Table SQL / API
            Reporter: Jark Wu
             Fix For: 1.11.0


There is some problem with current ScanForamtFactory and SinkFormatFactory interfaces:
1) {{ScanFormat#createScanFormat}} only accepts {{ScanTableSource.Context}}, which means it can’t work in lookup source.
2) The naming of {{ScanFormat}} also indicates it is only used in scan source. But a lookup source should be able to work with format too.
3) It’s confusing that {{ScanFormatFactory#createScanFormat}} and {{ScanFormat#createScanFormat}} (create itself?)

The proposed new interface strucutre:

{code:java}

interface DeserializationFormatFactory {
  DeserializationSchemaProvider createDeserializationSchemaProvider(
      DynamicTableFactory.Context context, ReadableConfig formatOptions);
}

interface SerializationFormatFactory {
  SerializationSchemaProvider createSerializationSchemaProvider(
       DynamicTableFactory.Context context, ReadableConfig formatOptions);
}

interface DeserializationSchemaProvider {
  DeserializationSchema createDeserializationSchema(
      DynamicTableSource.Context context, DataType producedDataType)
}

interface SerializationSchemaProvider{
  SerializationSchema createSerializationSchema(
      DynamicTableSink.Context context, DataType consumedDataType);
}
{code}






--
This message was sent by Atlassian Jira
(v8.3.4#803005)