Apache spark Spark流中的数据接收
最近我一直在做Spark Streaming的性能测试。但是有些问题让我很困惑。Apache spark Spark流中的数据接收,apache-spark,distributed-computing,spark-streaming,Apache Spark,Distributed Computing,Spark Streaming,最近我一直在做Spark Streaming的性能测试。但是有些问题让我很困惑。 在Spark流中,接收器被安排在工作节点上的执行器中运行 集群中有多少个接收器?我可以控制接收器的数量吗 如果不是所有工作节点都运行接收器来接收流数据,那么其他工作节点将不会接收任何数据?在这种情况下,如何保证基于数据局部性的任务调度?是否从运行接收器的节点复制数据 每个DStream只有一个接收器,但您可以创建多个DStream和union将它们作为一个接收器。这就是为什么建议对至少为N(接收器)+1核的集群运行
在Spark流中,接收器被安排在工作节点上的执行器中运行
每个
DStream
只有一个接收器,但您可以创建多个DStream
和union
将它们作为一个接收器。这就是为什么建议对至少为N
(接收器)+1核的集群运行Spark Streaming
。一旦数据经过接收部分,它基本上就是一个简单的Spark
应用程序,并且遵循与批处理作业相同的规则。(这就是流式处理被称为微配料的原因)谢谢您的回答。如果工作节点上没有正在运行的接收器,是否可以计划运行任务(该节点上没有数据?)?在这种情况下,如何保证数据局部性调度?