我有一个可以用SQL查询的表。有两列,一列叫做Actor1Type1,另一列叫做Actor2Type1。如果列Actor1Type1中的单元格是''并且Actor2Type1不是'',那么我想将该单元格的值更改为Actor2Type1的值。我不知道如何使用Spark SQL执行此操作,因为我是新手。
到目前为止我已经
了sqlContext.registerDataFrameAsTable(df, 'temp')
new_df = sqlContext.sql("""SELECT CASE WHEN temp.Actor1Type1Code == '' AND temp.Actor2Type1Code != ''
THEN temp.Actor1Type1Code""")
答案 0 :(得分:2)
如果我理解正确,你想在Actor1Type1 == '' AND Actor2Type1 != ''
这是你如何做到的,
df2 = sqlContext.sql('select (case when Actor1Type1 == '' AND Actor2Type1 != '' then Actor2Type1 else Actor1Type1 end) as Actor1Type1,Actor2Type1 from temp')