Java 为什么我不能使用callUDF方法?

Java 为什么我不能使用callUDF方法?,java,apache-spark,dataframe,Java,Apache Spark,Dataframe,我使用spark 1.6.1和java代码。当我使用callUDF()时,它显示 The method callUDF(String, Column) is undefined for the type PhaseOne callUdf()不起作用。我的代码如下: sqlContext.udf().register("stringToLong", new UDF1<String, Long>() { @Override public Long ca

我使用spark 1.6.1和java代码。当我使用callUDF()时,它显示

The method callUDF(String, Column) is undefined for the type PhaseOne
callUdf()不起作用。我的代码如下:

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")));
sqlContext.udf(){
@凌驾
公共长调用(字符串arg0)引发异常{
//TODO自动生成的方法存根
IPTypeConvert itc=新IPTypeConvert();
返回itc.stringtoLong(arg0);
}
},DataTypes.LongType);
数据帧interDF=initInterDF.withColumn(“interIPInt”,callUDF(“stringToLong”,initInterDF.col(“interIP”));

必须在开头添加:

import static org.apache.spark.sql.functions.callUDF;
然后使用它:

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")));
sqlContext.udf(){
@凌驾
公共长调用(字符串arg0)引发异常{
//TODO自动生成的方法存根
IPTypeConvert itc=新IPTypeConvert();
返回itc.stringtoLong(arg0);
}
},DataTypes.LongType);
数据帧interDF=initInterDF.withColumn(“interIPInt”,callUDF(“stringToLong”,initInterDF.col(“interIP”));