2017-08-03 7 views
0

constant literalColumnという2つのオペランドで算術演算を実行しようとしています。 withColumn以外のアプローチがありますか?その後、あなたは結果を追加するために選択し使用することができますspark SQLで定数を使った簡単な算術演算を実行する

+---+ 
| i| 
+---+ 
| 1| 
| 2| 
| 3| 
+---+ 

+0

withColumnの問題点は何ですか?また、selectステートメントで行う方法をselectステートメント –

+0

で行うこともできます。 – sandeep

答えて

1

dfがデータフレームであるとする

import org.apache spark.sql.functions.lit 

df 
.select($"i",($"i" + lit(1)).as("j")) 
.show 

+---+---+ 
| i| j| 
+---+---+ 
| 1| 2| 
| 2| 3| 
| 3| 4| 
+---+---+ 
+0

Raphaelに感謝します。フォローアップの質問として、私はこれを行うことができました: 'TABLE_2_0.select(($ $ exchr/1).as(" j "))。show'。 私が 'TABLE_2_0.select((1" $ "exchr")as。( "j"))。show'を実行したとき、 「:51:エラー:選択肢のオーバーロード: (X:ダブル)ダブル (X:フロート)フロート (X:ロング)ロング (X:INT)のInt (X:チャー)のInt (X:ショート)のInt ( x:Byte)intは(org.apache.spark.sql.ColumnName) ' – sandeep

+1

には適用できません@sandeepあなたは' TABLE_2_0.select(lit(1)/ $ "exchr)を実行する必要があります。 "))'この場合( 'org.apache.spark.sql.functions.lit') –

+0

ああ!迅速なヘルプありがとう。 – sandeep

関連する問題