[DISCUSS] FLIP-86: Improve Connector Properties

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[DISCUSS] FLIP-86: Improve Connector Properties

Jark Wu-2
Hi everyone,

Connector properties is a very basic component which is used to construct a
connector table via YAML, descriptor API, or DDL. It is also the
serialization representation when persisting into catalog. However, we have
encountered some problems when using connector properties, especially in
DDL. This FLIP is aiming to solve following two issues:

- FLINK-14645: Data types defined in DDL loses precision and nullability
when converting to properties.
- FLINK-14649: Some properties structure is hard to define in DDL, e.g.
List and Map structure.

This FLIP proposes new properties to represent data types in schema and to
flatten properties in existing connectors.

FLIP-86:
https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#

Thanks for any feedback!

Best,
Jark
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

dwysakowicz

Hi Jark,

Majority of the changes make sense to me. I think they will be helpful for the users. I have a slight concern about the

kafka's connector.properties property :) .  I wonder if we should have them under a single key:

connector.properties: `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`

As far as I understand it, these are mostly the properties that are forwarded straight to the underlying KafkaClient. Such properties are mostly defined and documented by the kafka itself rather than flink. They might also follow a different formatting scheme than we have for our properties. Moreover how do we decide which properties are put into the Properties object and which are not? I would be happy to hear what others think about that part, as I am not convinced myself about that part.

Best,

Dawid

On 13/11/2019 13:22, Jark Wu wrote:
Hi everyone,

Connector properties is a very basic component which is used to construct a
connector table via YAML, descriptor API, or DDL. It is also the
serialization representation when persisting into catalog. However, we have
encountered some problems when using connector properties, especially in
DDL. This FLIP is aiming to solve following two issues:

- FLINK-14645: Data types defined in DDL loses precision and nullability
when converting to properties.
- FLINK-14649: Some properties structure is hard to define in DDL, e.g.
List and Map structure.

This FLIP proposes new properties to represent data types in schema and to
flatten properties in existing connectors.

FLIP-86:
https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#

Thanks for any feedback!

Best,
Jark


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

Konstantin Knauf-3
Hi Dawid, Hi Jark,

in my experience it is very important to be able to forward arbitrary
properties to the underlying KafkaClient. This seems to be possible in both
cases. I am leaning towards Jark's original suggestion. Flink's
documentation would only need to state that it forwards everything under
"connector.properties" to the KafkaClient.

If the external system has a different formatting scheme, we could still
document this on a per-connector basis (use Flink's formatting scheme and
document how it is translated to the external system's native properties)
or if possible use the external system's scheme under
"connector.properties". I don't really know the limitations on our side
w.r.t this.

Cheers,

Konstantin



On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <[hidden email]>
wrote:

> Hi Jark,
>
> Majority of the changes make sense to me. I think they will be helpful for
> the users. I have a slight concern about the
>
> kafka's connector.properties property :) .  I wonder if we should have
> them under a single key:
>
> connector.properties: `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
>
> As far as I understand it, these are mostly the properties that are
> forwarded straight to the underlying KafkaClient. Such properties are
> mostly defined and documented by the kafka itself rather than flink. They
> might also follow a different formatting scheme than we have for our
> properties. Moreover how do we decide which properties are put into the
> Properties object and which are not? I would be happy to hear what others
> think about that part, as I am not convinced myself about that part.
>
> Best,
>
> Dawid
> On 13/11/2019 13:22, Jark Wu wrote:
>
> Hi everyone,
>
> Connector properties is a very basic component which is used to construct a
> connector table via YAML, descriptor API, or DDL. It is also the
> serialization representation when persisting into catalog. However, we have
> encountered some problems when using connector properties, especially in
> DDL. This FLIP is aiming to solve following two issues:
>
> - FLINK-14645: Data types defined in DDL loses precision and nullability
> when converting to properties.
> - FLINK-14649: Some properties structure is hard to define in DDL, e.g.
> List and Map structure.
>
> This FLIP proposes new properties to represent data types in schema and to
> flatten properties in existing connectors.
>
> FLIP-86:https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>
> Thanks for any feedback!
>
> Best,
> Jark
>
>
>

--

Konstantin Knauf | Solutions Architect

+49 160 91394525


Follow us @VervericaData Ververica <https://www.ververica.com/>


--

Join Flink Forward <https://flink-forward.org/> - The Apache Flink
Conference

Stream Processing | Event Driven | Real Time

--

Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany

--
Ververica GmbH
Registered at Amtsgericht Charlottenburg: HRB 158244 B
Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
(Tony) Cheng
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

Jark Wu-2
Hi Dawid, Konstantin,

This is an interesting topic. I will list the prons and cons of these 2
options.

1) under a single key: `connector.properties`
Cons:
 - Users can pass in arbitrary properties defined in kafka docs
Prons:
 - The property value is collapsed together and will be long and not
readable.
 - Some values may need to be escaped because of the separator.

2) flattened keys: `connector.zookeeper.connect`, `connector.bootstrap.
servers`
Cons:
- Better validation and helpful exception message if the value is wrong.
- Better documentation about which properties are required and what it
means.
- Easy to write.
Prons:
- If users want to pass in other kafka properties, need to support them and
wait until the next major release.

From my point of view, we can support both #1 and #2, but #2 will override
the values defined in #1.
So that, users can define the important properties in falttented keys, and
can define unsupported properties in `connector.properties`.

What do you think?

Best,
Jark



On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <[hidden email]>
wrote:

> Hi Dawid, Hi Jark,
>
> in my experience it is very important to be able to forward arbitrary
> properties to the underlying KafkaClient. This seems to be possible in both
> cases. I am leaning towards Jark's original suggestion. Flink's
> documentation would only need to state that it forwards everything under
> "connector.properties" to the KafkaClient.
>
> If the external system has a different formatting scheme, we could still
> document this on a per-connector basis (use Flink's formatting scheme and
> document how it is translated to the external system's native properties)
> or if possible use the external system's scheme under
> "connector.properties". I don't really know the limitations on our side
> w.r.t this.
>
> Cheers,
>
> Konstantin
>
>
>
> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <[hidden email]>
> wrote:
>
> > Hi Jark,
> >
> > Majority of the changes make sense to me. I think they will be helpful
> for
> > the users. I have a slight concern about the
> >
> > kafka's connector.properties property :) .  I wonder if we should have
> > them under a single key:
> >
> > connector.properties:
> `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
> >
> > As far as I understand it, these are mostly the properties that are
> > forwarded straight to the underlying KafkaClient. Such properties are
> > mostly defined and documented by the kafka itself rather than flink. They
> > might also follow a different formatting scheme than we have for our
> > properties. Moreover how do we decide which properties are put into the
> > Properties object and which are not? I would be happy to hear what others
> > think about that part, as I am not convinced myself about that part.
> >
> > Best,
> >
> > Dawid
> > On 13/11/2019 13:22, Jark Wu wrote:
> >
> > Hi everyone,
> >
> > Connector properties is a very basic component which is used to
> construct a
> > connector table via YAML, descriptor API, or DDL. It is also the
> > serialization representation when persisting into catalog. However, we
> have
> > encountered some problems when using connector properties, especially in
> > DDL. This FLIP is aiming to solve following two issues:
> >
> > - FLINK-14645: Data types defined in DDL loses precision and nullability
> > when converting to properties.
> > - FLINK-14649: Some properties structure is hard to define in DDL, e.g.
> > List and Map structure.
> >
> > This FLIP proposes new properties to represent data types in schema and
> to
> > flatten properties in existing connectors.
> >
> > FLIP-86:
> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
> >
> > Thanks for any feedback!
> >
> > Best,
> > Jark
> >
> >
> >
>
> --
>
> Konstantin Knauf | Solutions Architect
>
> +49 160 91394525
>
>
> Follow us @VervericaData Ververica <https://www.ververica.com/>
>
>
> --
>
> Join Flink Forward <https://flink-forward.org/> - The Apache Flink
> Conference
>
> Stream Processing | Event Driven | Real Time
>
> --
>
> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>
> --
> Ververica GmbH
> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
> (Tony) Cheng
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

dwysakowicz

Hi Jark,

I see the not readable point and that is also my concern about my suggestion with all the properties under a single key as the list might get quite long.

What do you think about modifying your suggestion a bit and at least add the `properties` prefix? So that we can distinguish the Kafka defined properties and the Flink's ones?

What do you think about properties like:

connector.properties.zookeeper.connect: ....
connector.properties.bootstrap-servers: ....

I think that's also what Konstantin was suggesting. I might be wrong on that though :)

Best,

Dawid


On 14/11/2019 04:52, Jark Wu wrote:
Hi Dawid, Konstantin,

This is an interesting topic. I will list the prons and cons of these 2
options.

1) under a single key: `connector.properties`
Cons:
 - Users can pass in arbitrary properties defined in kafka docs
Prons:
 - The property value is collapsed together and will be long and not
readable.
 - Some values may need to be escaped because of the separator.

2) flattened keys: `connector.zookeeper.connect`, `connector.bootstrap.
servers`
Cons:
- Better validation and helpful exception message if the value is wrong.
- Better documentation about which properties are required and what it
means.
- Easy to write.
Prons:
- If users want to pass in other kafka properties, need to support them and
wait until the next major release.

From my point of view, we can support both #1 and #2, but #2 will override
the values defined in #1.
So that, users can define the important properties in falttented keys, and
can define unsupported properties in `connector.properties`.

What do you think?

Best,
Jark



On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf [hidden email]
wrote:

Hi Dawid, Hi Jark,

in my experience it is very important to be able to forward arbitrary
properties to the underlying KafkaClient. This seems to be possible in both
cases. I am leaning towards Jark's original suggestion. Flink's
documentation would only need to state that it forwards everything under
"connector.properties" to the KafkaClient.

If the external system has a different formatting scheme, we could still
document this on a per-connector basis (use Flink's formatting scheme and
document how it is translated to the external system's native properties)
or if possible use the external system's scheme under
"connector.properties". I don't really know the limitations on our side
w.r.t this.

Cheers,

Konstantin



On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz [hidden email]
wrote:

Hi Jark,

Majority of the changes make sense to me. I think they will be helpful
for
the users. I have a slight concern about the

kafka's connector.properties property :) .  I wonder if we should have
them under a single key:

connector.properties:
`zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
As far as I understand it, these are mostly the properties that are
forwarded straight to the underlying KafkaClient. Such properties are
mostly defined and documented by the kafka itself rather than flink. They
might also follow a different formatting scheme than we have for our
properties. Moreover how do we decide which properties are put into the
Properties object and which are not? I would be happy to hear what others
think about that part, as I am not convinced myself about that part.

Best,

Dawid
On 13/11/2019 13:22, Jark Wu wrote:

Hi everyone,

Connector properties is a very basic component which is used to
construct a
connector table via YAML, descriptor API, or DDL. It is also the
serialization representation when persisting into catalog. However, we
have
encountered some problems when using connector properties, especially in
DDL. This FLIP is aiming to solve following two issues:

- FLINK-14645: Data types defined in DDL loses precision and nullability
when converting to properties.
- FLINK-14649: Some properties structure is hard to define in DDL, e.g.
List and Map structure.

This FLIP proposes new properties to represent data types in schema and
to
flatten properties in existing connectors.

FLIP-86:
https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
Thanks for any feedback!

Best,
Jark



--

Konstantin Knauf | Solutions Architect

+49 160 91394525


Follow us @VervericaData Ververica <https://www.ververica.com/>


--

Join Flink Forward <https://flink-forward.org/> - The Apache Flink
Conference

Stream Processing | Event Driven | Real Time

--

Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany

--
Ververica GmbH
Registered at Amtsgericht Charlottenburg: HRB 158244 B
Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
(Tony) Cheng


    

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

Jark Wu-2
Hi Dawid,

The `connector.properties.zookeeper.connect` sounds good to me.

Just to clarify, in this way, we can support arbitrary properties and we
can document the important ones.
And regarding to the value format, shall we use the external system's
format or use Flink's format, e.g. the list separator?
I would prefer the external system's format, so that keys and values are
all forwarded directly.

Best,
Jark


On Thu, 14 Nov 2019 at 17:02, Dawid Wysakowicz <[hidden email]>
wrote:

> Hi Jark,
>
> I see the not readable point and that is also my concern about my
> suggestion with all the properties under a single key as the list might get
> quite long.
>
> What do you think about modifying your suggestion a bit and at least add
> the `properties` prefix? So that we can distinguish the Kafka defined
> properties and the Flink's ones?
>
> What do you think about properties like:
>
> connector.properties.zookeeper.connect: ....
>
> connector.properties.bootstrap-servers: ....
>
>
> I think that's also what Konstantin was suggesting. I might be wrong on
> that though :)
>
> Best,
>
> Dawid
>
>
> On 14/11/2019 04:52, Jark Wu wrote:
>
> Hi Dawid, Konstantin,
>
> This is an interesting topic. I will list the prons and cons of these 2
> options.
>
> 1) under a single key: `connector.properties`
> Cons:
>  - Users can pass in arbitrary properties defined in kafka docs
> Prons:
>  - The property value is collapsed together and will be long and not
> readable.
>  - Some values may need to be escaped because of the separator.
>
> 2) flattened keys: `connector.zookeeper.connect`, `connector.bootstrap.
> servers`
> Cons:
> - Better validation and helpful exception message if the value is wrong.
> - Better documentation about which properties are required and what it
> means.
> - Easy to write.
> Prons:
> - If users want to pass in other kafka properties, need to support them and
> wait until the next major release.
>
> From my point of view, we can support both #1 and #2, but #2 will override
> the values defined in #1.
> So that, users can define the important properties in falttented keys, and
> can define unsupported properties in `connector.properties`.
>
> What do you think?
>
> Best,
> Jark
>
>
>
> On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <[hidden email]> <[hidden email]>
> wrote:
>
>
> Hi Dawid, Hi Jark,
>
> in my experience it is very important to be able to forward arbitrary
> properties to the underlying KafkaClient. This seems to be possible in both
> cases. I am leaning towards Jark's original suggestion. Flink's
> documentation would only need to state that it forwards everything under
> "connector.properties" to the KafkaClient.
>
> If the external system has a different formatting scheme, we could still
> document this on a per-connector basis (use Flink's formatting scheme and
> document how it is translated to the external system's native properties)
> or if possible use the external system's scheme under
> "connector.properties". I don't really know the limitations on our side
> w.r.t this.
>
> Cheers,
>
> Konstantin
>
>
>
> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <[hidden email]> <[hidden email]>
> wrote:
>
>
> Hi Jark,
>
> Majority of the changes make sense to me. I think they will be helpful
>
> for
>
> the users. I have a slight concern about the
>
> kafka's connector.properties property :) .  I wonder if we should have
> them under a single key:
>
> connector.properties:
>
> `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
>
> As far as I understand it, these are mostly the properties that are
> forwarded straight to the underlying KafkaClient. Such properties are
> mostly defined and documented by the kafka itself rather than flink. They
> might also follow a different formatting scheme than we have for our
> properties. Moreover how do we decide which properties are put into the
> Properties object and which are not? I would be happy to hear what others
> think about that part, as I am not convinced myself about that part.
>
> Best,
>
> Dawid
> On 13/11/2019 13:22, Jark Wu wrote:
>
> Hi everyone,
>
> Connector properties is a very basic component which is used to
>
> construct a
>
> connector table via YAML, descriptor API, or DDL. It is also the
> serialization representation when persisting into catalog. However, we
>
> have
>
> encountered some problems when using connector properties, especially in
> DDL. This FLIP is aiming to solve following two issues:
>
> - FLINK-14645: Data types defined in DDL loses precision and nullability
> when converting to properties.
> - FLINK-14649: Some properties structure is hard to define in DDL, e.g.
> List and Map structure.
>
> This FLIP proposes new properties to represent data types in schema and
>
> to
>
> flatten properties in existing connectors.
>
> FLIP-86:
>
> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>
> Thanks for any feedback!
>
> Best,
> Jark
>
>
>
>
> --
>
> Konstantin Knauf | Solutions Architect
>
> +49 160 91394525
>
>
> Follow us @VervericaData Ververica <https://www.ververica.com/> <https://www.ververica.com/>
>
>
> --
>
> Join Flink Forward <https://flink-forward.org/> <https://flink-forward.org/> - The Apache Flink
> Conference
>
> Stream Processing | Event Driven | Real Time
>
> --
>
> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>
> --
> Ververica GmbH
> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
> (Tony) Cheng
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

dwysakowicz
Yes, personally I would also go with the external system's format for
the exact reason you mentioned.

Best,

Dawid

On 14/11/2019 10:32, Jark Wu wrote:

> Hi Dawid,
>
> The `connector.properties.zookeeper.connect` sounds good to me.
>
> Just to clarify, in this way, we can support arbitrary properties and we
> can document the important ones.
> And regarding to the value format, shall we use the external system's
> format or use Flink's format, e.g. the list separator?
> I would prefer the external system's format, so that keys and values are
> all forwarded directly.
>
> Best,
> Jark
>
>
> On Thu, 14 Nov 2019 at 17:02, Dawid Wysakowicz <[hidden email]>
> wrote:
>
>> Hi Jark,
>>
>> I see the not readable point and that is also my concern about my
>> suggestion with all the properties under a single key as the list might get
>> quite long.
>>
>> What do you think about modifying your suggestion a bit and at least add
>> the `properties` prefix? So that we can distinguish the Kafka defined
>> properties and the Flink's ones?
>>
>> What do you think about properties like:
>>
>> connector.properties.zookeeper.connect: ....
>>
>> connector.properties.bootstrap-servers: ....
>>
>>
>> I think that's also what Konstantin was suggesting. I might be wrong on
>> that though :)
>>
>> Best,
>>
>> Dawid
>>
>>
>> On 14/11/2019 04:52, Jark Wu wrote:
>>
>> Hi Dawid, Konstantin,
>>
>> This is an interesting topic. I will list the prons and cons of these 2
>> options.
>>
>> 1) under a single key: `connector.properties`
>> Cons:
>>  - Users can pass in arbitrary properties defined in kafka docs
>> Prons:
>>  - The property value is collapsed together and will be long and not
>> readable.
>>  - Some values may need to be escaped because of the separator.
>>
>> 2) flattened keys: `connector.zookeeper.connect`, `connector.bootstrap.
>> servers`
>> Cons:
>> - Better validation and helpful exception message if the value is wrong.
>> - Better documentation about which properties are required and what it
>> means.
>> - Easy to write.
>> Prons:
>> - If users want to pass in other kafka properties, need to support them and
>> wait until the next major release.
>>
>> From my point of view, we can support both #1 and #2, but #2 will override
>> the values defined in #1.
>> So that, users can define the important properties in falttented keys, and
>> can define unsupported properties in `connector.properties`.
>>
>> What do you think?
>>
>> Best,
>> Jark
>>
>>
>>
>> On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <[hidden email]> <[hidden email]>
>> wrote:
>>
>>
>> Hi Dawid, Hi Jark,
>>
>> in my experience it is very important to be able to forward arbitrary
>> properties to the underlying KafkaClient. This seems to be possible in both
>> cases. I am leaning towards Jark's original suggestion. Flink's
>> documentation would only need to state that it forwards everything under
>> "connector.properties" to the KafkaClient.
>>
>> If the external system has a different formatting scheme, we could still
>> document this on a per-connector basis (use Flink's formatting scheme and
>> document how it is translated to the external system's native properties)
>> or if possible use the external system's scheme under
>> "connector.properties". I don't really know the limitations on our side
>> w.r.t this.
>>
>> Cheers,
>>
>> Konstantin
>>
>>
>>
>> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <[hidden email]> <[hidden email]>
>> wrote:
>>
>>
>> Hi Jark,
>>
>> Majority of the changes make sense to me. I think they will be helpful
>>
>> for
>>
>> the users. I have a slight concern about the
>>
>> kafka's connector.properties property :) .  I wonder if we should have
>> them under a single key:
>>
>> connector.properties:
>>
>> `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
>>
>> As far as I understand it, these are mostly the properties that are
>> forwarded straight to the underlying KafkaClient. Such properties are
>> mostly defined and documented by the kafka itself rather than flink. They
>> might also follow a different formatting scheme than we have for our
>> properties. Moreover how do we decide which properties are put into the
>> Properties object and which are not? I would be happy to hear what others
>> think about that part, as I am not convinced myself about that part.
>>
>> Best,
>>
>> Dawid
>> On 13/11/2019 13:22, Jark Wu wrote:
>>
>> Hi everyone,
>>
>> Connector properties is a very basic component which is used to
>>
>> construct a
>>
>> connector table via YAML, descriptor API, or DDL. It is also the
>> serialization representation when persisting into catalog. However, we
>>
>> have
>>
>> encountered some problems when using connector properties, especially in
>> DDL. This FLIP is aiming to solve following two issues:
>>
>> - FLINK-14645: Data types defined in DDL loses precision and nullability
>> when converting to properties.
>> - FLINK-14649: Some properties structure is hard to define in DDL, e.g.
>> List and Map structure.
>>
>> This FLIP proposes new properties to represent data types in schema and
>>
>> to
>>
>> flatten properties in existing connectors.
>>
>> FLIP-86:
>>
>> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>>
>> Thanks for any feedback!
>>
>> Best,
>> Jark
>>
>>
>>
>>
>> --
>>
>> Konstantin Knauf | Solutions Architect
>>
>> +49 160 91394525
>>
>>
>> Follow us @VervericaData Ververica <https://www.ververica.com/> <https://www.ververica.com/>
>>
>>
>> --
>>
>> Join Flink Forward <https://flink-forward.org/> <https://flink-forward.org/> - The Apache Flink
>> Conference
>>
>> Stream Processing | Event Driven | Real Time
>>
>> --
>>
>> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>>
>> --
>> Ververica GmbH
>> Registered at Amtsgericht Charlottenburg: HRB 158244 B
>> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
>> (Tony) Cheng
>>
>>
>>


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

Kurt Young
+1 to the general idea of this FLIP.

Regarding to connector properties, IIUC it would be divided into 2 parts:
1. connector.key1 = value1, these are interpreted by Flink framework and
do whatever needed for such property.
2. connector.properties.xxx.key = value. There items are prefixed with
"connector.properties" and will passed into maybe connector's client
directly.

Just want to confirm this and I'm +1 to this approach.

Best,
Kurt


On Thu, Nov 14, 2019 at 5:36 PM Dawid Wysakowicz <[hidden email]>
wrote:

> Yes, personally I would also go with the external system's format for
> the exact reason you mentioned.
>
> Best,
>
> Dawid
>
> On 14/11/2019 10:32, Jark Wu wrote:
> > Hi Dawid,
> >
> > The `connector.properties.zookeeper.connect` sounds good to me.
> >
> > Just to clarify, in this way, we can support arbitrary properties and we
> > can document the important ones.
> > And regarding to the value format, shall we use the external system's
> > format or use Flink's format, e.g. the list separator?
> > I would prefer the external system's format, so that keys and values are
> > all forwarded directly.
> >
> > Best,
> > Jark
> >
> >
> > On Thu, 14 Nov 2019 at 17:02, Dawid Wysakowicz <[hidden email]>
> > wrote:
> >
> >> Hi Jark,
> >>
> >> I see the not readable point and that is also my concern about my
> >> suggestion with all the properties under a single key as the list might
> get
> >> quite long.
> >>
> >> What do you think about modifying your suggestion a bit and at least add
> >> the `properties` prefix? So that we can distinguish the Kafka defined
> >> properties and the Flink's ones?
> >>
> >> What do you think about properties like:
> >>
> >> connector.properties.zookeeper.connect: ....
> >>
> >> connector.properties.bootstrap-servers: ....
> >>
> >>
> >> I think that's also what Konstantin was suggesting. I might be wrong on
> >> that though :)
> >>
> >> Best,
> >>
> >> Dawid
> >>
> >>
> >> On 14/11/2019 04:52, Jark Wu wrote:
> >>
> >> Hi Dawid, Konstantin,
> >>
> >> This is an interesting topic. I will list the prons and cons of these 2
> >> options.
> >>
> >> 1) under a single key: `connector.properties`
> >> Cons:
> >>  - Users can pass in arbitrary properties defined in kafka docs
> >> Prons:
> >>  - The property value is collapsed together and will be long and not
> >> readable.
> >>  - Some values may need to be escaped because of the separator.
> >>
> >> 2) flattened keys: `connector.zookeeper.connect`, `connector.bootstrap.
> >> servers`
> >> Cons:
> >> - Better validation and helpful exception message if the value is wrong.
> >> - Better documentation about which properties are required and what it
> >> means.
> >> - Easy to write.
> >> Prons:
> >> - If users want to pass in other kafka properties, need to support them
> and
> >> wait until the next major release.
> >>
> >> From my point of view, we can support both #1 and #2, but #2 will
> override
> >> the values defined in #1.
> >> So that, users can define the important properties in falttented keys,
> and
> >> can define unsupported properties in `connector.properties`.
> >>
> >> What do you think?
> >>
> >> Best,
> >> Jark
> >>
> >>
> >>
> >> On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <
> [hidden email]> <[hidden email]>
> >> wrote:
> >>
> >>
> >> Hi Dawid, Hi Jark,
> >>
> >> in my experience it is very important to be able to forward arbitrary
> >> properties to the underlying KafkaClient. This seems to be possible in
> both
> >> cases. I am leaning towards Jark's original suggestion. Flink's
> >> documentation would only need to state that it forwards everything under
> >> "connector.properties" to the KafkaClient.
> >>
> >> If the external system has a different formatting scheme, we could still
> >> document this on a per-connector basis (use Flink's formatting scheme
> and
> >> document how it is translated to the external system's native
> properties)
> >> or if possible use the external system's scheme under
> >> "connector.properties". I don't really know the limitations on our side
> >> w.r.t this.
> >>
> >> Cheers,
> >>
> >> Konstantin
> >>
> >>
> >>
> >> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <
> [hidden email]> <[hidden email]>
> >> wrote:
> >>
> >>
> >> Hi Jark,
> >>
> >> Majority of the changes make sense to me. I think they will be helpful
> >>
> >> for
> >>
> >> the users. I have a slight concern about the
> >>
> >> kafka's connector.properties property :) .  I wonder if we should have
> >> them under a single key:
> >>
> >> connector.properties:
> >>
> >>
> `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
> >>
> >> As far as I understand it, these are mostly the properties that are
> >> forwarded straight to the underlying KafkaClient. Such properties are
> >> mostly defined and documented by the kafka itself rather than flink.
> They
> >> might also follow a different formatting scheme than we have for our
> >> properties. Moreover how do we decide which properties are put into the
> >> Properties object and which are not? I would be happy to hear what
> others
> >> think about that part, as I am not convinced myself about that part.
> >>
> >> Best,
> >>
> >> Dawid
> >> On 13/11/2019 13:22, Jark Wu wrote:
> >>
> >> Hi everyone,
> >>
> >> Connector properties is a very basic component which is used to
> >>
> >> construct a
> >>
> >> connector table via YAML, descriptor API, or DDL. It is also the
> >> serialization representation when persisting into catalog. However, we
> >>
> >> have
> >>
> >> encountered some problems when using connector properties, especially in
> >> DDL. This FLIP is aiming to solve following two issues:
> >>
> >> - FLINK-14645: Data types defined in DDL loses precision and nullability
> >> when converting to properties.
> >> - FLINK-14649: Some properties structure is hard to define in DDL, e.g.
> >> List and Map structure.
> >>
> >> This FLIP proposes new properties to represent data types in schema and
> >>
> >> to
> >>
> >> flatten properties in existing connectors.
> >>
> >> FLIP-86:
> >>
> >>
> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
> >>
> >> Thanks for any feedback!
> >>
> >> Best,
> >> Jark
> >>
> >>
> >>
> >>
> >> --
> >>
> >> Konstantin Knauf | Solutions Architect
> >>
> >> +49 160 91394525
> >>
> >>
> >> Follow us @VervericaData Ververica <https://www.ververica.com/> <
> https://www.ververica.com/>
> >>
> >>
> >> --
> >>
> >> Join Flink Forward <https://flink-forward.org/> <
> https://flink-forward.org/> - The Apache Flink
> >> Conference
> >>
> >> Stream Processing | Event Driven | Real Time
> >>
> >> --
> >>
> >> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
> >>
> >> --
> >> Ververica GmbH
> >> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> >> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji
> >> (Tony) Cheng
> >>
> >>
> >>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

Jark Wu-2
Hi,

Thank you all for the positive feedbacks so far.

Timo discussed with me offline about the format properties, and we think
that this FLIP
should also cover formats, otherwise we need to touch the properties again
in the future.

The bad experience of format properties is that `format.derive-schema=true`
should be set explicitly,
otherewise users have to define schema for formats again in the properties.
So I added a new section
in the doc[1] to improve this, to make `derive-schema=true` as the default
behavior and make all formats
support it.

Please take a look at the changes when you are free, and I will start a
vote soon if no objections.

Best,
Jark


[1]:
https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#


On Thu, 14 Nov 2019 at 21:20, Kurt Young <[hidden email]> wrote:

> +1 to the general idea of this FLIP.
>
> Regarding to connector properties, IIUC it would be divided into 2 parts:
> 1. connector.key1 = value1, these are interpreted by Flink framework and
> do whatever needed for such property.
> 2. connector.properties.xxx.key = value. There items are prefixed with
> "connector.properties" and will passed into maybe connector's client
> directly.
>
> Just want to confirm this and I'm +1 to this approach.
>
> Best,
> Kurt
>
>
> On Thu, Nov 14, 2019 at 5:36 PM Dawid Wysakowicz <[hidden email]>
> wrote:
>
> > Yes, personally I would also go with the external system's format for
> > the exact reason you mentioned.
> >
> > Best,
> >
> > Dawid
> >
> > On 14/11/2019 10:32, Jark Wu wrote:
> > > Hi Dawid,
> > >
> > > The `connector.properties.zookeeper.connect` sounds good to me.
> > >
> > > Just to clarify, in this way, we can support arbitrary properties and
> we
> > > can document the important ones.
> > > And regarding to the value format, shall we use the external system's
> > > format or use Flink's format, e.g. the list separator?
> > > I would prefer the external system's format, so that keys and values
> are
> > > all forwarded directly.
> > >
> > > Best,
> > > Jark
> > >
> > >
> > > On Thu, 14 Nov 2019 at 17:02, Dawid Wysakowicz <[hidden email]
> >
> > > wrote:
> > >
> > >> Hi Jark,
> > >>
> > >> I see the not readable point and that is also my concern about my
> > >> suggestion with all the properties under a single key as the list
> might
> > get
> > >> quite long.
> > >>
> > >> What do you think about modifying your suggestion a bit and at least
> add
> > >> the `properties` prefix? So that we can distinguish the Kafka defined
> > >> properties and the Flink's ones?
> > >>
> > >> What do you think about properties like:
> > >>
> > >> connector.properties.zookeeper.connect: ....
> > >>
> > >> connector.properties.bootstrap-servers: ....
> > >>
> > >>
> > >> I think that's also what Konstantin was suggesting. I might be wrong
> on
> > >> that though :)
> > >>
> > >> Best,
> > >>
> > >> Dawid
> > >>
> > >>
> > >> On 14/11/2019 04:52, Jark Wu wrote:
> > >>
> > >> Hi Dawid, Konstantin,
> > >>
> > >> This is an interesting topic. I will list the prons and cons of these
> 2
> > >> options.
> > >>
> > >> 1) under a single key: `connector.properties`
> > >> Cons:
> > >>  - Users can pass in arbitrary properties defined in kafka docs
> > >> Prons:
> > >>  - The property value is collapsed together and will be long and not
> > >> readable.
> > >>  - Some values may need to be escaped because of the separator.
> > >>
> > >> 2) flattened keys: `connector.zookeeper.connect`,
> `connector.bootstrap.
> > >> servers`
> > >> Cons:
> > >> - Better validation and helpful exception message if the value is
> wrong.
> > >> - Better documentation about which properties are required and what it
> > >> means.
> > >> - Easy to write.
> > >> Prons:
> > >> - If users want to pass in other kafka properties, need to support
> them
> > and
> > >> wait until the next major release.
> > >>
> > >> From my point of view, we can support both #1 and #2, but #2 will
> > override
> > >> the values defined in #1.
> > >> So that, users can define the important properties in falttented keys,
> > and
> > >> can define unsupported properties in `connector.properties`.
> > >>
> > >> What do you think?
> > >>
> > >> Best,
> > >> Jark
> > >>
> > >>
> > >>
> > >> On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <
> > [hidden email]> <[hidden email]>
> > >> wrote:
> > >>
> > >>
> > >> Hi Dawid, Hi Jark,
> > >>
> > >> in my experience it is very important to be able to forward arbitrary
> > >> properties to the underlying KafkaClient. This seems to be possible in
> > both
> > >> cases. I am leaning towards Jark's original suggestion. Flink's
> > >> documentation would only need to state that it forwards everything
> under
> > >> "connector.properties" to the KafkaClient.
> > >>
> > >> If the external system has a different formatting scheme, we could
> still
> > >> document this on a per-connector basis (use Flink's formatting scheme
> > and
> > >> document how it is translated to the external system's native
> > properties)
> > >> or if possible use the external system's scheme under
> > >> "connector.properties". I don't really know the limitations on our
> side
> > >> w.r.t this.
> > >>
> > >> Cheers,
> > >>
> > >> Konstantin
> > >>
> > >>
> > >>
> > >> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <
> > [hidden email]> <[hidden email]>
> > >> wrote:
> > >>
> > >>
> > >> Hi Jark,
> > >>
> > >> Majority of the changes make sense to me. I think they will be helpful
> > >>
> > >> for
> > >>
> > >> the users. I have a slight concern about the
> > >>
> > >> kafka's connector.properties property :) .  I wonder if we should have
> > >> them under a single key:
> > >>
> > >> connector.properties:
> > >>
> > >>
> > `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
> > >>
> > >> As far as I understand it, these are mostly the properties that are
> > >> forwarded straight to the underlying KafkaClient. Such properties are
> > >> mostly defined and documented by the kafka itself rather than flink.
> > They
> > >> might also follow a different formatting scheme than we have for our
> > >> properties. Moreover how do we decide which properties are put into
> the
> > >> Properties object and which are not? I would be happy to hear what
> > others
> > >> think about that part, as I am not convinced myself about that part.
> > >>
> > >> Best,
> > >>
> > >> Dawid
> > >> On 13/11/2019 13:22, Jark Wu wrote:
> > >>
> > >> Hi everyone,
> > >>
> > >> Connector properties is a very basic component which is used to
> > >>
> > >> construct a
> > >>
> > >> connector table via YAML, descriptor API, or DDL. It is also the
> > >> serialization representation when persisting into catalog. However, we
> > >>
> > >> have
> > >>
> > >> encountered some problems when using connector properties, especially
> in
> > >> DDL. This FLIP is aiming to solve following two issues:
> > >>
> > >> - FLINK-14645: Data types defined in DDL loses precision and
> nullability
> > >> when converting to properties.
> > >> - FLINK-14649: Some properties structure is hard to define in DDL,
> e.g.
> > >> List and Map structure.
> > >>
> > >> This FLIP proposes new properties to represent data types in schema
> and
> > >>
> > >> to
> > >>
> > >> flatten properties in existing connectors.
> > >>
> > >> FLIP-86:
> > >>
> > >>
> >
> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
> > >>
> > >> Thanks for any feedback!
> > >>
> > >> Best,
> > >> Jark
> > >>
> > >>
> > >>
> > >>
> > >> --
> > >>
> > >> Konstantin Knauf | Solutions Architect
> > >>
> > >> +49 160 91394525
> > >>
> > >>
> > >> Follow us @VervericaData Ververica <https://www.ververica.com/> <
> > https://www.ververica.com/>
> > >>
> > >>
> > >> --
> > >>
> > >> Join Flink Forward <https://flink-forward.org/> <
> > https://flink-forward.org/> - The Apache Flink
> > >> Conference
> > >>
> > >> Stream Processing | Event Driven | Real Time
> > >>
> > >> --
> > >>
> > >> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
> > >>
> > >> --
> > >> Ververica GmbH
> > >> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> > >> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason,
> Ji
> > >> (Tony) Cheng
> > >>
> > >>
> > >>
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSS] FLIP-86: Improve Connector Properties

Jark Wu-2
Hi everyone,

Thanks for the comments in the doc. I have updated the doc into wiki page.

As there are no further concerns, I will start a voting process soon.

Thanks,
Jark

On Fri, 15 Nov 2019 at 23:36, Jark Wu <[hidden email]> wrote:

> Hi,
>
> Thank you all for the positive feedbacks so far.
>
> Timo discussed with me offline about the format properties, and we think
> that this FLIP
> should also cover formats, otherwise we need to touch the properties again
> in the future.
>
> The bad experience of format properties is that
> `format.derive-schema=true` should be set explicitly,
> otherewise users have to define schema for formats again in the
> properties. So I added a new section
> in the doc[1] to improve this, to make `derive-schema=true` as the default
> behavior and make all formats
> support it.
>
> Please take a look at the changes when you are free, and I will start a
> vote soon if no objections.
>
> Best,
> Jark
>
>
> [1]:
> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>
>
> On Thu, 14 Nov 2019 at 21:20, Kurt Young <[hidden email]> wrote:
>
>> +1 to the general idea of this FLIP.
>>
>> Regarding to connector properties, IIUC it would be divided into 2 parts:
>> 1. connector.key1 = value1, these are interpreted by Flink framework and
>> do whatever needed for such property.
>> 2. connector.properties.xxx.key = value. There items are prefixed with
>> "connector.properties" and will passed into maybe connector's client
>> directly.
>>
>> Just want to confirm this and I'm +1 to this approach.
>>
>> Best,
>> Kurt
>>
>>
>> On Thu, Nov 14, 2019 at 5:36 PM Dawid Wysakowicz <[hidden email]>
>> wrote:
>>
>> > Yes, personally I would also go with the external system's format for
>> > the exact reason you mentioned.
>> >
>> > Best,
>> >
>> > Dawid
>> >
>> > On 14/11/2019 10:32, Jark Wu wrote:
>> > > Hi Dawid,
>> > >
>> > > The `connector.properties.zookeeper.connect` sounds good to me.
>> > >
>> > > Just to clarify, in this way, we can support arbitrary properties and
>> we
>> > > can document the important ones.
>> > > And regarding to the value format, shall we use the external system's
>> > > format or use Flink's format, e.g. the list separator?
>> > > I would prefer the external system's format, so that keys and values
>> are
>> > > all forwarded directly.
>> > >
>> > > Best,
>> > > Jark
>> > >
>> > >
>> > > On Thu, 14 Nov 2019 at 17:02, Dawid Wysakowicz <
>> [hidden email]>
>> > > wrote:
>> > >
>> > >> Hi Jark,
>> > >>
>> > >> I see the not readable point and that is also my concern about my
>> > >> suggestion with all the properties under a single key as the list
>> might
>> > get
>> > >> quite long.
>> > >>
>> > >> What do you think about modifying your suggestion a bit and at least
>> add
>> > >> the `properties` prefix? So that we can distinguish the Kafka defined
>> > >> properties and the Flink's ones?
>> > >>
>> > >> What do you think about properties like:
>> > >>
>> > >> connector.properties.zookeeper.connect: ....
>> > >>
>> > >> connector.properties.bootstrap-servers: ....
>> > >>
>> > >>
>> > >> I think that's also what Konstantin was suggesting. I might be wrong
>> on
>> > >> that though :)
>> > >>
>> > >> Best,
>> > >>
>> > >> Dawid
>> > >>
>> > >>
>> > >> On 14/11/2019 04:52, Jark Wu wrote:
>> > >>
>> > >> Hi Dawid, Konstantin,
>> > >>
>> > >> This is an interesting topic. I will list the prons and cons of
>> these 2
>> > >> options.
>> > >>
>> > >> 1) under a single key: `connector.properties`
>> > >> Cons:
>> > >>  - Users can pass in arbitrary properties defined in kafka docs
>> > >> Prons:
>> > >>  - The property value is collapsed together and will be long and not
>> > >> readable.
>> > >>  - Some values may need to be escaped because of the separator.
>> > >>
>> > >> 2) flattened keys: `connector.zookeeper.connect`,
>> `connector.bootstrap.
>> > >> servers`
>> > >> Cons:
>> > >> - Better validation and helpful exception message if the value is
>> wrong.
>> > >> - Better documentation about which properties are required and what
>> it
>> > >> means.
>> > >> - Easy to write.
>> > >> Prons:
>> > >> - If users want to pass in other kafka properties, need to support
>> them
>> > and
>> > >> wait until the next major release.
>> > >>
>> > >> From my point of view, we can support both #1 and #2, but #2 will
>> > override
>> > >> the values defined in #1.
>> > >> So that, users can define the important properties in falttented
>> keys,
>> > and
>> > >> can define unsupported properties in `connector.properties`.
>> > >>
>> > >> What do you think?
>> > >>
>> > >> Best,
>> > >> Jark
>> > >>
>> > >>
>> > >>
>> > >> On Thu, 14 Nov 2019 at 01:57, Konstantin Knauf <
>> > [hidden email]> <[hidden email]>
>> > >> wrote:
>> > >>
>> > >>
>> > >> Hi Dawid, Hi Jark,
>> > >>
>> > >> in my experience it is very important to be able to forward arbitrary
>> > >> properties to the underlying KafkaClient. This seems to be possible
>> in
>> > both
>> > >> cases. I am leaning towards Jark's original suggestion. Flink's
>> > >> documentation would only need to state that it forwards everything
>> under
>> > >> "connector.properties" to the KafkaClient.
>> > >>
>> > >> If the external system has a different formatting scheme, we could
>> still
>> > >> document this on a per-connector basis (use Flink's formatting scheme
>> > and
>> > >> document how it is translated to the external system's native
>> > properties)
>> > >> or if possible use the external system's scheme under
>> > >> "connector.properties". I don't really know the limitations on our
>> side
>> > >> w.r.t this.
>> > >>
>> > >> Cheers,
>> > >>
>> > >> Konstantin
>> > >>
>> > >>
>> > >>
>> > >> On Wed, Nov 13, 2019 at 3:36 PM Dawid Wysakowicz <
>> > [hidden email]> <[hidden email]>
>> > >> wrote:
>> > >>
>> > >>
>> > >> Hi Jark,
>> > >>
>> > >> Majority of the changes make sense to me. I think they will be
>> helpful
>> > >>
>> > >> for
>> > >>
>> > >> the users. I have a slight concern about the
>> > >>
>> > >> kafka's connector.properties property :) .  I wonder if we should
>> have
>> > >> them under a single key:
>> > >>
>> > >> connector.properties:
>> > >>
>> > >>
>> >
>> `zookeeper.connect`:`localhost:2181`;`bootstrap.servers`:`localhost:9092`
>> > >>
>> > >> As far as I understand it, these are mostly the properties that are
>> > >> forwarded straight to the underlying KafkaClient. Such properties are
>> > >> mostly defined and documented by the kafka itself rather than flink.
>> > They
>> > >> might also follow a different formatting scheme than we have for our
>> > >> properties. Moreover how do we decide which properties are put into
>> the
>> > >> Properties object and which are not? I would be happy to hear what
>> > others
>> > >> think about that part, as I am not convinced myself about that part.
>> > >>
>> > >> Best,
>> > >>
>> > >> Dawid
>> > >> On 13/11/2019 13:22, Jark Wu wrote:
>> > >>
>> > >> Hi everyone,
>> > >>
>> > >> Connector properties is a very basic component which is used to
>> > >>
>> > >> construct a
>> > >>
>> > >> connector table via YAML, descriptor API, or DDL. It is also the
>> > >> serialization representation when persisting into catalog. However,
>> we
>> > >>
>> > >> have
>> > >>
>> > >> encountered some problems when using connector properties,
>> especially in
>> > >> DDL. This FLIP is aiming to solve following two issues:
>> > >>
>> > >> - FLINK-14645: Data types defined in DDL loses precision and
>> nullability
>> > >> when converting to properties.
>> > >> - FLINK-14649: Some properties structure is hard to define in DDL,
>> e.g.
>> > >> List and Map structure.
>> > >>
>> > >> This FLIP proposes new properties to represent data types in schema
>> and
>> > >>
>> > >> to
>> > >>
>> > >> flatten properties in existing connectors.
>> > >>
>> > >> FLIP-86:
>> > >>
>> > >>
>> >
>> https://docs.google.com/document/d/14MlXFB45NUmUtesFMFZFjFhd4pqmYamxbfNwUPrfdL4/edit#
>> > >>
>> > >> Thanks for any feedback!
>> > >>
>> > >> Best,
>> > >> Jark
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >>
>> > >> Konstantin Knauf | Solutions Architect
>> > >>
>> > >> +49 160 91394525
>> > >>
>> > >>
>> > >> Follow us @VervericaData Ververica <https://www.ververica.com/> <
>> > https://www.ververica.com/>
>> > >>
>> > >>
>> > >> --
>> > >>
>> > >> Join Flink Forward <https://flink-forward.org/> <
>> > https://flink-forward.org/> - The Apache Flink
>> > >> Conference
>> > >>
>> > >> Stream Processing | Event Driven | Real Time
>> > >>
>> > >> --
>> > >>
>> > >> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>> > >>
>> > >> --
>> > >> Ververica GmbH
>> > >> Registered at Amtsgericht Charlottenburg: HRB 158244 B
>> > >> Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason,
>> Ji
>> > >> (Tony) Cheng
>> > >>
>> > >>
>> > >>
>> >
>> >
>>
>