簡體   English   中英

如何在Spark中對數據框的列執行二進制“或”操作

[英]How to perform binary “or” operations on column of Data Frame in Spark

讓我解釋一下這個場景:

我正在創建一個掩碼值。

val Date = 20170501
val day = Date.toString.substring(6, 8)
val mask = pow(2, day.toInt -1)

接下來,我正在創建dataframe withColumn使用withColumn即創建額外的列

val t1 = df.withColumn("C1", when($"a1" > 0 , $"C1" | mask.toInt).otherwise($"C1"))

但是當我在表演| 使用Dataframe列操作它給出了錯誤,因為“ value | is not a member of org.apache.spark.sql.ColumnName ”。

早期的幫助將不勝感激。

提前致謝。

你可以使用由Column實現的bitwiseOR

val t1 = df.withColumn("C1", when($"a1" > 0 , $"C1".bitwiseOR(mask.toInt)).otherwise($"C1"))

暫無
暫無

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

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