如何打印 spark dataframe

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何打印 spark dataframe相关的知识,希望对你有一定的参考价值。

参考技术A 打印DataFrame里面的模式
在创建完DataFrame之后,我们一般都会查看里面数据的模式,我们可以通过printSchema函数来查看。它会打印出列的名称和类型:

students.printSchema

root

|--
id:

string (nullable =

true)

|--
studentName:

string (nullable =

true)

|--
phone:

string (nullable =

true)

|--
email:

string (nullable =

true)

如果采用的是load方式参见DataFrame的,students.printSchema的输出则如下:

root

|--
id|studentName|phone|email:

string (nullable =

true)本回答被提问者采纳

如何在 Spark 的空 Dataframe 中添加行记录

【中文标题】如何在 Spark 的空 Dataframe 中添加行记录【英文标题】:How to add a row record in empty Dataframe in Spark 【发布时间】:2021-03-12 19:39:57 【问题描述】:

我正在尝试在 Spark scala 中创建一个空的 dataFrame,并希望创建自己的架构并将记录加载到其中。

下面是例子

val emptyDf = spark.emptyDataFrame

val loadEmptyDf = emptyDf.withColumn("col1", lit("yes"), "col2", lit("no"))

但我无法获得我在创建架构时放置的默认值

电流输出:

|col1|col2|
|    |    |

预期输出:

|col1|col2|
|yes | no |

【问题讨论】:

【参考方案1】:

withColumn 添加一列,lit 为所有行添加默认值,但您的 DataFrame 为空..

val data = Seq(Row("yes", "no"))

val schema: StructType = new StructType()
  .add("col1", StringType)
  .add("col2", StringType)

val df = spark.createDataFrame(spark.sparkContext.parallelize(data), schema)

df.show()

+----+----+
|col1|col2|
+----+----+
| yes|  no|
+----+----+

【讨论】:

以上是关于如何打印 spark dataframe的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Zeppelin/Spark/Scala 中漂亮地打印数据框?

如何在行级别上比较两个海量 Spark 数据帧并打印差异

如何在 Scala(spark) 中打印字符串或字符串 [Array]?

如何使用 Spark Structured Streaming 打印 Json 编码的消息

如何使用 Java 和 Spark SQL 打印数据集中的行内容?

如何在已应用于 Spark RDD 的函数中打印语句?