2017-02-16 7 views
0

SQLを使用してクエリできるテーブルがあります。 Actor1Type1と呼ばれるものとActor2Type1と呼ばれるものの2つの列があります。列Actor1Type1のセルが ''で、Actor2Type1が '' ''でない場合、そのセルの値をActor2Type1の値に変更します。私はSpark SQLを使ってこれをやる方法を知らないのですが、それは初めてです。Spark SQL Pysparkテーブルの値をテーブルの別の値に更新する

は、これまでのところ私は、私が正しく理解している場合

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

答えて

2

は、あなたがここでActor1Type1 == '' AND Actor2Type1 != ''

は、あなたがそれを行う方法であるときActor1Type1にActor2Type1の値を割り当てる

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

感謝を持っていますあなたはそれが働いた! – CatherineAlv

関連する問題