This isn't cascalog related since I use plain Cascading, but more
Pail-related, but since many people here are good with pail, i guess you'll
have some advice...
I created my test Pail where I used my custom dummy PailStructure
- FirstDigitIntegerPailStructure (partitions written Integers by first
digit). Everythings work OK, since I can write few Integer "records" to it,
and read it afterwards. Pail's directory structure is properly created.
But I'm trying to use it in my cascading flow that just copies contents
from one PailTap to another one, and it fails with:
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
My flow is defined as:
PailTap source = constructSourcePailTap(sourcePail);
PailTap sink = constructSinkPailTap(destinationPailPath,
Pipe copyPipe = new Pipe("copy");
// connect the taps, pipes, etc., into a flow
FlowDef flowDef = FlowDef.flowDef()
Now, I looked at PailTap source(...) and sink(...) methods for possible
Method source() emits read Integer "records" from Pail using these lines:
String relPath = ((Text) k).toString();
Object value = deserialize((BytesWritable) v);
sourceCall.getIncomingEntry().setTuple(new Tuple(relPath, value));
When I debug it, I can see that "relPath" is partition directory path
(String), and value is my Integer "record". All is well I guess.
But when it tries to process that emitted tuple in sink method when wanting
to write it to target PailTap, then it fetches that tuple via:
Object obj = tuple.getObject(0);
which is actually partition directory path (String), not Integer "record",
but treats it as if it were a value (Integer), and few line below tries to
find sink's Pail new partition directory by calling:
and that's why class cast exception is raised since it is not a Integer,
What am I doing wrong?
You received this message because you are subscribed to the Google Groups "cascalog-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firstname.lastname@example.org.
For more options, visit https://groups.google.com/d/optout.