Collect_list不适用于部分聚合

时间:2018-02-13 10:00:03

标签: scala apache-spark-sql spark-structured-streaming

对于Spark Structured Streaming数据帧,collect_list会抛出错误:

  

ERROR执行程序:阶段11.0中的任务0.0中的异常(TID 1024)   java.lang.RuntimeException:Collect不能用于部分聚合。

我有以下代码:

df.withColumn("RealValue", expr("(Class, Value)"))
    .groupBy("Code", "Origin", "Destination", "PoS", "Date")
    .agg(collect_list("RealValue").as("ValueSeq"))
    .drop("Value")

其中df是流数据帧。

架构如下:

val schema = new StructType(Array(
  StructField("Code", StringType),
  StructField("Origin", StringType),
  StructField("Destination", StringType),
  StructField("Date", StringType),
  StructField("PoS", StringType),
  StructField("Class", StringType),
  StructField("Value", StringType)
))

我如何克服这个问题?有没有其他方法可以实现流式数据帧?

0 个答案:

没有答案