Java Spark数据帧API(1.4.1)中未定义的max()和sum()方法
将Java Spark数据帧API(1.4.1)中未定义的max()和sum()方法,java,apache-spark-sql,spark-dataframe,Java,Apache Spark Sql,Spark Dataframe,将DataFrame.groupBy()的示例代码放入我的代码中,但它显示了max()和sum()未定义的方法 df.groupBy("department").agg(max("age"), sum("expense")); 如果要使用max()和sum()方法,应该导入哪个Java包 此示例代码的语法正确吗?请尝试导入org.apache.spark.sql.functions。 编辑。 据我所知,您正在使用scala语法,试图通过apply方法访问列。对于Java,必须使用.col方法传
DataFrame.groupBy()
的示例代码放入我的代码中,但它显示了max()
和sum()
未定义的方法
df.groupBy("department").agg(max("age"), sum("expense"));
如果要使用max()
和sum()
方法,应该导入哪个Java包
此示例代码的语法正确吗?请尝试导入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说明。导入对我不起作用。EclipseIDE仍然显示编译错误 但是下面的方法调用有效
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");
请尝试导入所有函数,包括
max
和sum
谢谢,但是Java(1.7)不支持“u”,API中也没有“org.apache.spark.sql.functions.*”。答案已修复。请立即尝试将EclipseIDE的“import static org.apache.spark.sql.functions.*”;改为import static org.apache.spark.sql.functions.*;让它起作用
import static org.apache.spark.sql.functions.*