Scala 如何仅显示Spark';什么是数据帧?
我有一个很大的JSON文件,包含432个键值对和许多行这样的数据。数据加载得非常好,但是当我想使用df.show()显示20个项目时,我看到了一堆空值。这个文件很稀疏。很难从中得到什么。最好是删除20行中只有null的列,但是,由于我有很多键值对,很难手动执行。有没有办法在Spark的数据帧中检测哪些列只包含空值并删除它们?您可以像下面这样尝试,了解更多信息Scala 如何仅显示Spark';什么是数据帧?,scala,apache-spark-sql,Scala,Apache Spark Sql,我有一个很大的JSON文件,包含432个键值对和许多行这样的数据。数据加载得非常好,但是当我想使用df.show()显示20个项目时,我看到了一堆空值。这个文件很稀疏。很难从中得到什么。最好是删除20行中只有null的列,但是,由于我有很多键值对,很难手动执行。有没有办法在Spark的数据帧中检测哪些列只包含空值并删除它们?您可以像下面这样尝试,了解更多信息 让我知道它是否适合您。您可以尝试下面的方法,了解更多信息 让我知道它是否适合您。与Sathiyan的想法类似,但在count()本身中使用
让我知道它是否适合您。您可以尝试下面的方法,了解更多信息
让我知道它是否适合您。与Sathiyan的想法类似,但在count()本身中使用columnname 中间结果显示了计数和列名
scala> df.select(df.columns.map(x=>concat_ws("=",first(lit(x)),count(col(x))).as(x+"_nullcount")):_*).show
+-----------+-----------+-----------+
|a_nullcount|b_nullcount|c_nullcount|
+-----------+-----------+-----------+
| a=3| b=3| c=0|
+-----------+---------- -+-----------+
scala>
与Sathiyan的想法类似,但在count()本身中使用了columnname 中间结果显示了计数和列名
scala> df.select(df.columns.map(x=>concat_ws("=",first(lit(x)),count(col(x))).as(x+"_nullcount")):_*).show
+-----------+-----------+-----------+
|a_nullcount|b_nullcount|c_nullcount|
+-----------+-----------+-----------+
| a=3| b=3| c=0|
+-----------+---------- -+-----------+
scala>
是否可以显示“df.show()的输出以显示20个带有一组空值的项?”?您使用多少行?要求“删除20行中只有空值的列”几乎不需要Spark,因为总共只有20行。可能的重复项可以显示“df.show()的输出以显示20个带有一组空值的项”吗?您使用多少行?要求“删除20行中只有null的列”几乎不需要Spark,因为总共只有20行。
scala> df.select(df.columns.map(x=>concat_ws("=",first(lit(x)),count(col(x))).as(x+"_nullcount")):_*).show
+-----------+-----------+-----------+
|a_nullcount|b_nullcount|c_nullcount|
+-----------+-----------+-----------+
| a=3| b=3| c=0|
+-----------+---------- -+-----------+
scala>