2016-07-18 6 views
3

私は、SQLContext.sql()の機能を使用すると、SparkでCASE-THENを使用できることに気付きました。これをJAVA構文で、データフレーム上で直接使用する方法はありますか?どうやって? は今、私が書く:Spark SQL - CASE-THENのJava構文?

SparkConf sparkConf = new SparkConf(); 
JavaSparkContext ctx = new JavaSparkContext(sparkConf); 
SQLContext sqlContext = new SQLContext(ctx); 
DataFrame df = //some imported data 
df.registerTempTable("df"); 
sqlContext.sql("SELECT *use case-then in here* FROM df"); 

私はちょうどwhen(Column col, Object obj)を使用し、その後org.apache.spark.sql.functionsをインポート

df.select(case("this").then("that")); 

答えて

5

のようなものを探しています。

+0

私は質問に書いたとおり、これは私が現在やっていることです。私は一時テーブルを登録するステップをやめました。今更新されました。私はこれにJAVA構文が等しいかどうかに関心があります。 :) –

+0

df.select(function.when(df.col( "colName")。equalTo( "this")、 "that")。when(df.col( "colName ").equalTo(" somethingelse ")、" dosomething ")。そうでなければ(" something "));'? –

+0

はいチェーン条件が可能です –