[ https://issues.apache.org/jira/browse/CRUNCH-506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14391922#comment-14391922 ]
Micah Whitacre commented on CRUNCH-506: --------------------------------------- Well I'd need to actually add a method: To.textFile(path, ptype) Since SourceTargets generally need the PType for how to read the data out. So not quite a drop in replacement and I'm not sure I can generate a PType. > Default To.textFile to use TextFileSourceTarget > ----------------------------------------------- > > Key: CRUNCH-506 > URL: https://issues.apache.org/jira/browse/CRUNCH-506 > Project: Crunch > Issue Type: Improvement > Components: Core > Affects Versions: 0.11.0 > Reporter: Micah Whitacre > Assignee: Micah Whitacre > > Had a consumer with an interesting situation. They had code like the > following: > {code} > PCollection<String> output = ... > output.write(To.textFile(path)); > pipeline.done(); > long size = output.length().getValue(); > {code} > This code was actually failing with an exception like the following: > {noformat} > Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.JavaMain], > main() threw exception, org.apache.crunch.CrunchRuntimeException: > java.io.IOException: No files found to materialize at: > /tmp/crunch-107739816/p8 > org.apache.oozie.action.hadoop.JavaMainException: > org.apache.crunch.CrunchRuntimeException: java.io.IOException: No files found > to materialize at: /tmp/crunch-107739816/p8 > at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:58) > at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:39) > {noformat} > I believe this is because the To.textFile(...) uses just TextFileTarget. So > the length() call is going back to the intermediate state that got cleaned up > by the done() call. Switching the To.textFile(..) to TextFileSourceTarget > instead actually lets the code succeed. > Seems like we could switch the To.textFile(..) to use the SourceTarget impl > to make this less surprising/confusing to consumers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)