Description
When using AvroPathPerKeyTarget to write out a subpath in the output directory using a String key, the key might indicate multiple subfolders:
Pair<String, String> kv = new Pair<String, String>("foo/bar", "value");
PTable<String, String> kvs = pipeline.create(Arrays.asList(kv),Avros.tableOf(Avros.strings(), Avros.strings()));
PTables.asPTable(kvs).write(new AvroPathPerKeyTarget("output"));
This throws the error:
java.io.IOException: java.lang.IllegalArgumentException: Reducer output name 'bar' cannot be parsed
at org.apache.crunch.impl.mr.exec.CrunchJobHooks$CompletionHook.handleMultiPaths(CrunchJobHooks.java:92)
...
In AvroPathPerKeyTarget the handleOutputs method would need to recursively copy subfolders (currently only checks first level in output directory) to enable keys that define multiple sub folders.
Attachments
Attachments
Issue Links
- is related to
-
CRUNCH-635 MultipleOutput Text Targets
- Resolved