Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何使用Trigger.Once选项在Spark 3结构流Kafka/Files源中配置BackPreAssure_Apache Spark_Spark Structured Streaming_Spark Kafka Integration - Fatal编程技术网

Apache spark 如何使用Trigger.Once选项在Spark 3结构流Kafka/Files源中配置BackPreAssure

Apache spark 如何使用Trigger.Once选项在Spark 3结构流Kafka/Files源中配置BackPreAssure,apache-spark,spark-structured-streaming,spark-kafka-integration,Apache Spark,Spark Structured Streaming,Spark Kafka Integration,但我有一个问题。 当我想使用TriggerOnce时,如何配置作业的背压 在spark 2.4中,我有一个用例,用于回填一些数据,然后启动流。 所以我只使用了一次触发器,但我的回填场景可能非常非常大,有时会因为无序排列而在磁盘上造成太大的负载,因为FileIndex缓存在磁盘上,所以会导致驱动程序内存太大。 因此,我使用maxmaxOffsetsPerTrigger和maxFilesPerTrigger来控制spark可以处理多少数据。这就是我配置背压的方式 现在你删除了这个功能,所以假设有人可

但我有一个问题。 当我想使用TriggerOnce时,如何配置作业的背压

在spark 2.4中,我有一个用例,用于回填一些数据,然后启动流。 所以我只使用了一次触发器,但我的回填场景可能非常非常大,有时会因为无序排列而在磁盘上造成太大的负载,因为FileIndex缓存在磁盘上,所以会导致驱动程序内存太大。 因此,我使用max
maxOffsetsPerTrigger
maxFilesPerTrigger
来控制spark可以处理多少数据。这就是我配置背压的方式


现在你删除了这个功能,所以假设有人可以建议一个新的方法去做?

触发。一旦现在忽略了这些选项(在Spark 3中),它总是会在第一次加载时读取所有内容


您可以解决这个问题—例如,您可以在触发器设置为periodic的情况下启动流,使用一些值,例如1小时,不执行
。等待终止
,但有一个并行循环,它将检查第一批是否完成,并停止流。或者您可以将其设置为连续模式,然后检查批是否有0行,然后终止流。在初始加载之后,您可以将流切换回触发器。一旦这是一个非常脏的解决方案,就给我的代码带来一些多线程复杂性。我还可以在每第二批处理中抛出异常,并在此特定异常上处理流关闭。但我仍然希望学习如何在没有黑客的情况下完成它。我不敢相信Spark developer删除了Trigger>的backpressure功能一次,并且没有提供任何好的替代品。你确定它以前工作过吗?在这个解决方案中,您不需要执行任何多线程处理,只需不使用
wait
是的,我确信。这是一个问题,是的