如何在 Zeppelin/Spark/Scala 中漂亮地打印一个 wrappedarray?

How can I pretty print a wrappedarray in Zeppelin/Spark/Scala?

问题中,有人告诉我如何使用 zeppelin 的 z.show 命令打印数据帧。除了 'WrappedArray' 出现在引理列中外,这很好用:

我试过这个:

z.show(dfLemma.select(concat_ws(",", $"lemma")))

但它只是给了我一个单词列表,格式不正确,我还希望在输出中出现种族主义列。 非常感谢任何帮助。

以下是格式化数组列的建议:

import org.apache.spark.sql.Column
import org.apache.spark.sql.functions._
import sqlContext.implicits._

val df = Seq(
  (1, Array("An", "Array")), (2, Array("Another", "Array"))
).toDF("first", "second")

def formatArrayColumn(arrayColumn: Column): Column = {
  concat(lit("["), concat_ws(", ", arrayColumn), lit("]")).as(s"format(${arrayColumn.expr})")
}

val result = df.withColumn("second", formatArrayColumn($"second"))

z.show(result)

这导致: