0
我在Hive表t1中有三列(c1,c2,c3)。我有MySQL代碼檢查特定列是否爲空。我有來自同一張表的數據幀。我想通過dataframe實現相同的邏輯,df有三列,c1,c2,c3。使用Spark和Scala通過數據框實現SQL邏輯
這裏是SQL-
if(
t1.c1=0 Or IsNull(t1.c1),
if(
IsNull(t1.c2/t1.c3),
1,
t1.c2/t1.c3
),
t1.c1
) AS myalias
使用我起草了在階以下邏輯「時」爲「如果」到SQL的替代方案。我正在面對編寫「或」邏輯的問題(下面粗體顯示)。我如何使用Scala通過Spark數據框編寫上述SQL邏輯?
val df_withalias = df.withColumn("myalias",when(
Or((df("c1") == 0), isnull(df("c1"))),
when(
(isNull((df("c2") == 0)/df("c3")),
)
)
)
我該如何編寫上述邏輯?
這工作!感謝Tzach。 –