I'm turning an image to a 2D array of integers. Doing some process on that then I'm trying to emit the array in this way :
collector.emit( new Values ( scaledImageMatrix ) );
int  imageMatrix = input.get("scaled-image-matrix");
[ERROR] found : java.lang.Object
[ERROR] required: int
int  imageMatrix = (int)input.get("scaled-image-matrix");
java.lang.IllegalArgumentException: Tuple created with wrong number of fields. Expected 1 fields but got 190 fields
I guess that's not possible except building a serializer yourself for two-dimensional array.
Storm will try to guess the type of a tuple and see if it can be serialized. Anything emitted is already serialized, so there's no way to send any object storm can't serialize.
By default, Storm can serialize primitive types, strings, byte arrays, ArrayList, HashMap, HashSet, and the Clojure collection types.