Bytearray datatype also represents the 'unkown' type. Ie if pig does not know the type for a field, it uses the bytearray type. In such cases the actual object will not be an instance of DataByteArray.
I am wondering if in the storefunc, you are casting an 'unkown' type (which happens to be a tuple), into DataByteArray. Can you check if pig is doing the right thing by returning a Tuple in this case ? (BinSedesTuple implements Tuple interface).
On 4/8/11 9:30 AM, "Jeremy Hanna" <[EMAIL PROTECTED]> wrote:
I am going through a lot of processing with my data and then I reformat it to go back into my data store using the storefunc. I store it out to hdfs and it visually looks just fine. However when I try to persist it, I'm getting an exception that it can't cast one of the values from org.apache.pig.data.BinSedesTuple to org.apache.pig.data.DataByteArray. I had been assuming that the value would have been a DataByteArray (in my storefunc) and it looks from the javadocs of BinSedesTuple that it's a type only used for intermediate processing. So I'm just wondering - is there any way I should convert this manually or is there something wrong?