If you use Flink's LongValue, StringValue, DoubleValue, you can also use
Flink's MapValue. If you subclass it (without adding code) it is very
efficient. It stores type information in the subclass and that way handles
key and value types.

On Fri, Dec 5, 2014 at 11:33 AM, Robert Metzger <rmetz...@apache.org> wrote:

> As possible workarounds, you could
> a) Implement your own serialization by implementing the "Value" interface.
> b) Use the Hadoop
>
> http://hadoop.apache.org/docs/r2.3.0/api/org/apache/hadoop/io/MapWritable.html
> MapWritable Class. You have to use hadoop's LongWritable and IntWritable
> for the types of the map but Flink should be able to handle Writable's in
> POJOs.
>
> I would recommend option b).
>
> On Fri, Dec 5, 2014 at 10:22 AM, Stephan Ewen <se...@apache.org> wrote:
>
> > We are in the midst of replacing Avro in the serialization, so this
> should
> > spoon be fixed properly.
> >
> > Until then, you could try to re-package the collection. Something like an
> > array of map entries, or so. Would that feasible?
> >
> > Stephan
> > Am 04.12.2014 21:42 schrieb "Aljoscha Krettek" <aljos...@apache.org>:
> >
> > > I don't know any workaround. But maybe Avro should be avoided
> > > altogether for your requirements.
> > >
> > > What is the data that you want to move between operations?
> > >
> > > On Thu, Dec 4, 2014 at 7:13 PM, Paris Carbone <par...@kth.se> wrote:
> > > > Hello,
> > > >
> > > > It seems that Avro fails to serialise POJOs that contain non-String
> or
> > > stringable keys<
> > >
> >
> https://apache.googlesource.com/avro/+/40650540dcb8ca8a6b6235de5cdd36c0f6e2eb31/lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectData.java#361
> > > >.
> > > > eg. in the example here<
> > >
> >
> https://github.com/senorcarbone/incubator-flink/blob/72b6798b50396c962fc6cea20a2bcdd51eec06f4/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/testing/LongMapKeyIssueExample.java
> > >
> > > I get a compiler exception caused by:
> > > >
> > > > org.apache.avro.AvroTypeException: Map key class not String: class
> > > java.lang.Long
> > > >
> > > > Is there any known workaround/recommendation for this except for
> using
> > > String keys?
> > > > I need this for a use case of low latency data-intensive streaming so
> > > String conversions should be avoided.
> > > >
> > > > Paris
> > > >
> > > >
> > >
> >
>

Reply via email to