Java Spark Dataframe API(1.4.1)中未定义的max()和sum()方法



DataFrame.groupBy()的示例代码放入我的代码中,但它显示了max()sum()的方法未定义。

df.groupBy("department").agg(max("age"), sum("expense"));

如果我想使用max()sum()方法,我应该导入哪个Java包?

这个示例代码的语法正确吗?

导入对我不起作用。Eclipse IDE仍然显示编译错误。

但是下面的方法调用工作

df.groupBy("Gender").agg(org.apache.spark.sql.functions.max(df.col("Id")), org.apache.spark.sql.functions.sum(df.col("Income")));

如果聚合只涉及一个字段,我们也可以使用以下语法,

df.groupBy("Gender").max("Income");
import static org.apache.spark.sql.functions.* 

尝试导入包括maxsum 在内的所有函数

尝试import org.apache.spark.sql.functions._

编辑

据我所知,您正在使用scala语法,试图通过apply方法访问列。对于Java,您必须像.col方法这样传递列:

df.groupBy("department").agg(max(df.col("age")), sum(df.col("expense")));

请参阅此处的Java示例

您似乎在搜索"org.apache.spark.sql.GroupedData">

要像编写代码一样在代码中使用它们,需要静态导入。

Api 链接

一定要先看看API的描述。

相关内容

  • 没有找到相关文章

最新更新