hi,jark:
Thanks for your explanation. I am doing the integration of flink and
iceberg. The iceberg partition needs to be of accurate type, and I cannot
modify it.

I will follow what you suggestion, get the column type by  schema, and then
do the cast.

Jark Wu <imj...@gmail.com> 于2021年1月5日周二 下午3:05写道:

> Hi Jun,
>
> AFAIK, the main reason to use Map<String, String> is because it's easy for
> serialization and deserialization.
> For example, if we use Java `LocalDateTime` instead of String to represent
> TIMESTAMP partition value,
> then users may deserialize into Java `Timestamp` to Flink framework, which
> may cause problems.
>
> Re: "the system will throw an exception that the type does not match",
> could your system store partition values as string type?
>
> Best,
> Jark
>
> On Tue, 5 Jan 2021 at 14:09, Jun Zhang <zhangjunemail...@gmail.com> wrote:
>
> > hi ,Jack:
> >
> > If the partition type is int and we pass in a string type, the system
> will
> > throw an exception that the type does not match. We can indeed cast by
> get
> > the schema, but I think if CatalogPartitionSpec#partitionSpec is of type
> > Map<String, Object>, there is no need to do cast operation, and the
> > universal and compatibility are better
> >
> > Jark Wu <imj...@gmail.com> 于2021年1月5日周二 下午1:47写道:
> >
> > > Hi Jun,
> > >
> > > I'm curious why it doesn't work when represented in string?
> > > You can get the field type from the CatalogTable#getSchema(),
> > > then parse/cast the partition value to the type you want.
> > >
> > > Best,
> > > Jark
> > >
> > >
> > > On Tue, 5 Jan 2021 at 13:43, Jun Zhang <zhangjunemail...@gmail.com>
> > wrote:
> > >
> > > >  Hello dev:
> > > >      Now I encounter a problem when using the method
> > > > "Catalog#listPartitions(ObjectPath, CatalogPartitionSpec)".
> > > >      I found that the partitionSpec type in CatalogPartitionSpec is
> > > > Map<String, String>,
> > > >      This is no problem for hivecatalog, but my subclass of Catalog
> > needs
> > > > precise types. For example, if the partition is of int type, passing
> in
> > > > "123" will not work.
> > > >      So I think whether the partitionSpec field of Flink's
> > > > CatalogPartitionSpec is changed to Map<String, Object> type will be
> > more
> > > > reasonable and universal?
> > > >
> > >
> >
>

Reply via email to