dex*_*ter 7 apache-spark spark-streaming
火花流中的批次是RDD的批次.提供一批3个RDD.
此外,spark文档说接收器每隔200ms创建一个块,并将分区分配给块.
比如在1秒钟内我有3批RDD,如果考虑200毫秒则有5个区块.
那么RDD如何在工作节点之间进行分区,是将要分区的单个RDD还是完整的批处理.
我可能以错误的方式接受了它.请指导我
maa*_*asg 19
一个流批处理对应于一个RDD.该RDD将具有n个分区,其中n =批处理间隔/块间隔.假设您有200毫秒的标准块间隔和2秒的批处理间隔,那么您将有10个分区.块由接收器创建,每个接收器在主机中分配.因此,这10个分区位于单个节点中,并复制到第二个节点.
提交RDD进行处理时,运行该任务的主机将从该主机读取数据.在同一节点上执行的任务将具有"NODE_LOCAL"位置,而在其他节点上执行的任务将具有"任何"位置并且将花费更长时间.
因此,为了改进并行处理,建议分配多个接收器并使用union创建单个DStream以进行进一步处理.这样,数据将被多个节点并行使用和处理.
归档时间: |
|
查看次数: |
5099 次 |
最近记录: |