如何在Zeppelin/Spark/Scala中打印 Dataframe ?

vyu0f0g1  于 2023-10-18  发布在  Scala
关注(0)|答案(3)|浏览(111)

我在Zeppelin 0.7笔记本上使用Spark 2和Scala 2.11。我有一个可以像这样打印的框架:

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

输出如下:

+---------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|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]                                                                     |

我试图使输出更好的齐柏林飞船,通过:

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

它给出了这样的输出:

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

和一个新的空白齐柏林飞艇段落,

[text: string, lemma: array]

有没有一种方法可以让这个框架显示为一个格式很好的表格?TIA!TIA!

aor9mmx1

aor9mmx11#

在Zeppelin中,你可以使用z.show(df)来显示一个漂亮的表。下面是一个示例:

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

z.show(df)

cvxl0en2

cvxl0en22#

我知道这是一个古老的线索,但如果它有帮助...
下面是我可以采取显示df的一部分的唯一方法。尝试按照注解中的建议向.show()添加第二个参数会引发错误。
z.show(df.limit(10))

enxuqcxy

enxuqcxy3#

当你使用.show()方法时,在你的笔记本中添加下面的一行将添加一个水平滚动条。它类似于jupyter笔记本的造型技巧。

%sh echo "%html <style>.text.plainTextContent {white-space: pre;}<style>"

大概是这样的:

相关问题