Apache spark Java8中的SparkSQL UDF注册

Apache spark Java8中的SparkSQL UDF注册,apache-spark,java-8,dataframe,apache-spark-sql,Apache Spark,Java 8,Dataframe,Apache Spark Sql,我在Java8上使用Spark 1.3.0。我在设置SQLContext和创建数据帧方面没有任何问题,spark DSL非常流畅。但我想使用自定义自定义自定义项 根据spark文档: sqlCtx.udf().register(“strLen”,(字符串s)->{s.length();}) 注册自定义项时应该这样做。但我的IDE(IntelliJ)抱怨: 无法解析方法“register(java.lang.String,)” 我做错了什么?在这一点上,文档和代码文档似乎有点不同步,我倾向于使用代

我在Java8上使用Spark 1.3.0。我在设置SQLContext和创建数据帧方面没有任何问题,spark DSL非常流畅。但我想使用自定义自定义自定义项

根据spark文档:

sqlCtx.udf().register(“strLen”,(字符串s)->{s.length();})

注册自定义项时应该这样做。但我的IDE(IntelliJ)抱怨:

无法解析方法“register(java.lang.String,)”


我做错了什么?

在这一点上,文档和代码文档似乎有点不同步,我倾向于使用代码内文档,只是因为开发人员在进行更新时它经常就在那里。查看JavaUDFSuite,我会尝试:

sqlContext.udf().register(
   "stringLengthTest", (String str) -> str.length(), DataTypes.IntegerType);