KMeans result folder not created

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

KMeans result folder not created

subashbasnet
Hello all,

I created KMeans.jar from the source-code and it works fine. 
But when I had put the print statement before writeAsCsv, the result folder does not get created. 
Eg: 
clusteredPoints.print();
clusteredPoints.writeAsCsv(outputPath, "\n", " ");
// since file sinks are lazy, we trigger the execution explicitly
env.execute("KMeans Example");

But if I run KMeans.java with above print statement via eclipse it works fine, but why not when I upload it to the flink?
Or is the flink taking long time to process the print statement before reaching writeAsCsv?
Or after print statement writes to outputstream of JVM, the writeAsCsv doesn't get executed? 

Best Regards,
Subash Basnet

Reply | Threaded
Open this post in threaded view
|

Re: KMeans result folder not created

Aljoscha Krettek
Hi,
the problem is that print() eagerly executes the program even before execute() is called. For running the program on a cluster I would suggest to completely remove the “.print()”.

Cheers,
Aljoscha

> On 13 Mar 2016, at 16:13, subash basnet <[hidden email]> wrote:
>
> Hello all,
>
> I created KMeans.jar from the source-code and it works fine.
> But when I had put the print statement before writeAsCsv, the result folder does not get created.
> Eg:
> clusteredPoints.print();
> clusteredPoints.writeAsCsv(outputPath, "\n", " ");
> // since file sinks are lazy, we trigger the execution explicitly
> env.execute("KMeans Example");
>
> But if I run KMeans.java with above print statement via eclipse it works fine, but why not when I upload it to the flink?
> Or is the flink taking long time to process the print statement before reaching writeAsCsv?
> Or after print statement writes to outputstream of JVM, the writeAsCsv doesn't get executed?
>
> Best Regards,
> Subash Basnet
>