我正在运行一个火花流式传输过程,我获得了一批6000个事件。但是当我查看执行程序时,只有一个活动任务正在运行。我尝试了动态分配以及设置执行程序的数量等。即使我有15个执行程序,一次只运行一个活动任务。任何人都可以指导我在这里做错了什么。
答案 0 :(得分:6)
您的DStream
中只有一个分区。您应该尝试显式重新分区输入流:
val input: DStream[...] = ...
val partitionedInput = input.repartition(numPartitions = 16)
这样,您的输入DStream
中将有16个分区,并且每个分区都可以在单独的任务中处理(并且每个任务都可以在单独的执行程序上执行)