较长的流火花时间窗口导致“增长超过64 KB”异常

时间:2019-01-30 08:26:57

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

我有一个流媒体Spark数据帧,其时间窗口为一个小时,每分钟触发一次。

val momentumDataAggQuery = withTime
  .selectExpr("parsed.symbol", "parsed.bid", "parsed.ask", "event_time")
  .withWatermark("event_time", "5 seconds")
  .groupBy(col("symbol"), window(col("event_time"), "60 minutes", "60 seconds")) 
  .agg(first("bid", true).as("first_bid"), first("ask").as("first_ask"), last("bid").as("last_bid"), last("ask").as("last_ask"))

运行时会抛出异常,并显示以下错误:

org.codehaus.janino.InternalCompilerException: Compiling "GeneratedClass": Code of method "expand_doCon
sume_0$(Lorg/apache/spark/sql/catalyst/expressions/GeneratedClass$GeneratedIteratorForCodegenStage1;Lor
g/apache/spark/sql/catalyst/InternalRow;Lorg/apache/spark/unsafe/types/UTF8String;ZDZDZJZ)V" of class "
org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1" grows beyon
d 64 KB

我尝试减少时间窗口,我可以使用的最长时间是30分钟。

我发现了相关的吉拉问题https://issues.apache.org/jira/browse/SPARK-18091,但目前似乎没有解决方案。

以前有人看过吗?解决方法是什么?

0 个答案:

没有答案