簡體   English   中英

Spark數據框選擇該行的任何列中至少包含一個null或空白的行

[英]Spark dataframe select rows with at least one null or blank in any column of that row

我想從一個數據幀中創建一個新的數據幀,其中任何列中的至少一個值在spark 1.5 / scala中為null或為空白。

我試圖寫一個泛化函數來創建這個新的數據框。 我在這里傳遞數據框和列列表並創建記錄。

謝謝

樣本數據

val df = Seq((null, Some(2)), (Some("a"), Some(4)), (Some(""), Some(5)), (Some("b"), null)).toDF("A", "B")

df.show
+----+----+
|   A|   B|
+----+----+
|null|   2|
|   a|   4|
|    |   5|
|   b|null|
+----+----+  

您可以將條件構造為,假設空白表示此處為空字符串:

import org.apache.spark.sql.functions.col
val cond = df.columns.map(x => col(x).isNull || col(x) === "").reduce(_ || _)

df.filter(cond).show
+----+----+
|   A|   B|
+----+----+
|null|   2|
|    |   5|
|   b|null|
+----+----+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM