gpt4 book ai didi

scala - 如何将 Scala Spark Dataset.show 重定向到 log4j 记录器

转载 作者:行者123 更新时间:2023-12-04 08:51:07 25 4
gpt4 key购买 nike

Spark API 文档展示了如何从发送到标准输出的数据集或数据帧中获取 pretty-print 片段。

可以将此输出定向到 log4j 记录器吗?或者:有人可以共享将创建类似于 df.show() 格式的输出的代码吗?

有没有办法让标准输出在将 .show() 输出推送到记录器之前和之后都进入控制台?

http://spark.apache.org/docs/latest/sql-programming-guide.htm

val df = spark.read.json("examples/src/main/resources/people.json")

// Displays the content of the DataFrame to stdout
df.show()
// +----+-------+
// | age| name|
// +----+-------+
// |null|Michael|
// | 30| Andy|
// | 19| Justin|
// +----+-------+

最佳答案

showString()函数来自 teserecter来自 Spark 代码 (Dataset.scala)。

您不能在代码中使用该函数,因为它是包私有(private)的,但您可以将以下代码段放在文件 DatasetShims.scala 中在您的源代码中并在您的类中混合特征以访问该函数。

package org.apache.spark.sql

trait DatasetShims {
implicit class DatasetHelper[T](ds: Dataset[T]) {
def toShowString(numRows: Int = 20, truncate: Int = 20, vertical: Boolean = false): String =
"\n" + ds.showString(numRows, truncate, vertical)
}
}

关于scala - 如何将 Scala Spark Dataset.show 重定向到 log4j 记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41600328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com