web-dev-qa-db-fra.com

Comment puis-je imprimer une jolie trame de données dans Zeppelin / Spark / Scala?

J'utilise Spark 2 et Scala 2.11 dans un cahier Zeppelin 0.7. J'ai une trame de données que je peux imprimer comme ceci:

dfLemma.select("text", "lemma").show(20,false)

et la sortie ressemble à:

+---------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|text                                                                                                                       |lemma                                                                                                                                                                  |
+---------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|RT @Dope_Promo: When you and your crew beat your high scores on FUGLY FROG ???????? https://time.com/Sxp3Onz1w8                    |[rt, @Dope_promo, :, when, you, and, you, crew, beat, you, high, score, on, FUGLY, FROG, https://time.com/sxp3onz1w8]                                                      |
|RT @axolROSE: Did yall just call Kermit the frog a lizard?  https://time.com/wDAEAEr1Ay                                        |[rt, @axolrose, :, do, yall, just, call, Kermit, the, frog, a, lizard, ?, https://time.com/wdaeaer1ay]                                                                     |

J'essaie de rendre la sortie plus agréable dans Zeppelin, en:

val printcols= dfLemma.select("text", "lemma")
println("%table " + printcols)

ce qui donne cette sortie:

printcols: org.Apache.spark.sql.DataFrame = [text: string, lemma: array<string>]

et un nouveau paragraphe vide Zeppelin intitulé

[text: string, lemma: array]

Existe-t-il un moyen de faire apparaître la trame de données sous forme de tableau bien formaté? TIA!

15
schoon

Dans Zeppelin, vous pouvez utiliser z.show(df) pour afficher un joli tableau. Voici un exemple:

val df = Seq(
  (1,1,1), (2,2,2), (3,3,3)
).toDF("first_column", "second_column", "third_column")

z.show(df)

enter image description here

50
Daniel de Paula