0

は、callUdfメソッドのパラメータは、1.5.1での方法と同様に、直接列に行動することができます何の方法がありませんJavaは、スパークにUDFを呼び出す方法1.4.1スパーク1.4.1で

(String udfName, scala.collection.Seq<Column> cols) 

です

callUDF(String udfName, Column col) 

1.4.1でUDFを呼び出す方法は?またはどのようにこれらのコードは、彼らが火花1.4.1で動作することができるように、私はコードを変更する必要がありますどのように

sqlContext.udf().register("stringToLong", new UDF1<String, Long>() { 

    @Override 
    public Long call(String arg0) throws Exception { 
     // TODO Auto-generated method stub 
     IPTypeConvert itc = new IPTypeConvert(); 
     return itc.stringtoLong(arg0); 
    } 
}, DataTypes.LongType); 
DataFrame interDF = initInterDF.withColumn("interIPInt", callUDF("stringToLong", initInterDF.col("interIP"))); 

1.6.1で動作し、例えば

scala.collection.Seq<Column> 

に列タイプを変更するには?

答えて

1

あなたは、配列【コラム】にリストを変換することができます:

import scala.collection.JavaConversions; 
import scala.collection.Seq; 

import static java.util.Arrays.asList; 

DataFrame interDF = initInterDF.withColumn("interIPInt", 
    callUDF("stringToLong", JavaConversions.asScalaBuffer(asList(initInterDF.col("interIP"))))); 

this質問

+0

でより多くの私を許してください、私は新人です。どうもありがとうございました! – volity

+0

@volityリラックス:)私はあなたを助けてくれてうれしいよ:) –

関連する問題