【发布时间】:2021-11-21 10:34:37
【问题描述】:
我在 SparkJava(IntelliJ 应用程序)中有这个过程,我遇到了一个我不知道如何解决的问题。首先我声明数据集:
private static final String CONTRA1 = "contra1";
query = "select contra1, ..., eadfinal, , ..., data_date" + FROM + dbSchema + TBLNAME " + WHERE fech = '" + fechjmCto2 + "' AND s1emp=49";
Dataset<Row> jmCto2 = sql.sql(query);
然后我进行计算,我分析一些字段以分配一些文字值。我的问题出在聚合函数中:
Dataset<Row> contrCapOk1 = contrCapOk.join(jmCto2,
contrCapOk.col(CONTRA1).equalTo(jmCto2.col(CONTRA1)),LEFT)
.select(contrCapOk.col("*"),
jmCto2.col("ind"),
functions.when(jmCto2.col(CONTRA1).isNull(),functions.lit(NUEVES))
.when(jmCto2.col("ind").equalTo("N"),functions.lit(UNOS))
.otherwise(jmCto2.groupBy(CONTRA1).agg(functions.sum(jmCto2.col("eadfinal")))).as("EAD"),
我想要的是在其他部分中求和。但是当我执行集群时,在日志中给我这个消息。
User class threw exception: java.lang.RuntimeException: Unsupported literal type class org.apache.spark.sql.Dataset [contra1: int, sum(eadfinal): decimal(33,6)]
在第 211 行,否则在行。
你知道问题可能是什么吗?
谢谢。
【问题讨论】:
标签: java apache-spark intellij-14 spark-java