I need to save the output of df.show() as a string so that i can email it directly.
For ex., the below example taken from official spark docs,:
val d
Workaround is to redirect standard output to variable:
val baos = new java.io.ByteArrayOutputStream();
val ps = new java.io.PrintStream(baos);
val oldPs = Console.out
Console.setOut(ps)
df.show()
val content = baos.toString()
Console.setOut(oldPs)
Note that I have one deprecation warning here.
You can also re-implement method Dataset.showString
, which generated data. It uses take
in background. Maybe it's also a good moment to create PR to make showString public? :)