Closed kristoffSC closed 1 year ago
Total Project Coverage | 94.55% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Total Project Coverage | 94.37% | :green_apple: |
---|
Description
This PR Resolves HTTP-34.
It adds support for SQL looup joins scenarios where ROW type column is used in JOIN condition. In that case, Lookup connector converts used columns (including nested types like Arrays, Maps Lists and ROWs) into proper http query:
By default Flink's Json-Format is used for RowData -> Json conversion.
However user can created and use its own Serialization formats. To create a custom format user has to implement Flink's
SerializationSchema
andSerializationFormatFactory
interfaces and register custom format factory along other factories inresources/META-INF.services/org.apache.flink.table.factories.Factory
file. This is common Flink mechanism for providing custom implementations for various factories.In order to use custom format, user has to specify option
'lookup-request.format' = 'customFormatName'
, wherecustomFormatName
is the identifier of our custom format factory.Additionally, it is possible to pass query format options from table's DDL. This can be done by using option like so:
'lookup-request.format.customFormatName.cotom_formatProperty' = 'propertyValue'
, for example'lookup-request.format.customFormatName.fail-on-missing-field' = 'true'
. It is important thatcustomFormatName
part must matchSerializationFormatFactory
identifier used for custom format implementation. In this case, thefail-on-missing-field
will be passed toSerializationFormatFactory::createEncodingFormat( DynamicTableFactory.Context context, ReadableConfig formatOptions)
method inReadableConfig
object.PR Checklist