2017-02-16 101 views
0

我有一張表,可以使用SQL進行查詢。有兩列一個叫做Actor1Type1,另一個叫做Actor2Type1。如果Actor1Type1列中的某個單元格爲''且Actor2Type1不是'',那麼我想將該單元格的值更改爲Actor2Type1的值。我不知道如何用Spark SQL來做這件事,因爲我對它很陌生。將表中的SQL SQL Pyspark更新值更改爲表中的另一個值

到目前爲止,我有

sqlContext.registerDataFrameAsTable(df, 'temp') 
new_df = sqlContext.sql("""SELECT CASE WHEN temp.Actor1Type1Code == '' AND temp.Actor2Type1Code != '' 
        THEN temp.Actor1Type1Code""") 

回答

2

如果我理解正確的話,你要分配Actor2Type1到Actor1Type1值時Actor1Type1 == '' AND Actor2Type1 != ''

這裏是你如何做到這一點,

df2 = sqlContext.sql('select (case when Actor1Type1 == '' AND Actor2Type1 != '' then Actor2Type1 else Actor1Type1 end) as Actor1Type1,Actor2Type1 from temp') 
+0

謝謝你的工作! – CatherineAlv

相關問題