As a quickfix I implmeented ResultTypeQueryable for the
TypeSerializerInputFormat. A PR for the 0.8 branch can be found here

https://github.com/apache/flink/pull/349

Please check and let me know if there is a way to fix the problem without
breaking the 0.8 line API.

2015-01-29 14:54 GMT+01:00 Alexander Alexandrov <
alexander.s.alexand...@gmail.com>:

> The problem seems to be that the reflection analysis cannot determine the
> type of the TypeSerializerInputFormat.
>
> One possible solution is to add the ResultTypeQueryable interface and
> force clients to explicitly set the TypeInformation.
>
> This might break code which relies on automatic type inference, but at the
> moment I cannot find any other usages of the TypeSerializerInputFormat
> except from the unit test.
>
>
>
> ---------- Forwarded message ----------
> From: Alexander Alexandrov <alexander.s.alexand...@gmail.com>
> Date: 2015-01-29 12:04 GMT+01:00
> Subject: TypeSerializerInputFormat cannot determine its type automatically
> To: u...@flink.apache.org
>
>
> I am trying to use the TypeSerializer IO formats to write temp data to
> disk. A gist with a minimal example can be found here:
>
> https://gist.github.com/aalexandrov/90bf21f66bf604676f37
>
> However, with the current setting I get the following error with the
> TypeSerializerInputFormat:
>
> Exception in thread "main"
> org.apache.flink.api.common.InvalidProgramException: The type returned by
> the input format could not be automatically determined. Please specify the
> TypeInformation of the produced type explicitly.
>     at
> org.apache.flink.api.java.ExecutionEnvironment.readFile(ExecutionEnvironment.java:341)
>     at SerializedFormatExample$.main(SerializedFormatExample.scala:48)
>     at SerializedFormatExample.main(SerializedFormatExample.scala)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:606)
>     at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
>
> I think that the typeInformation instance at line 43 should be somehow
> passed to the TypeSerializerInputFormat, but I cannot find a way to do it.
>
> Any suggestions?
>
> Thanks,
> A.
>
>

Reply via email to