每个作业包含多个Executor,每个Executor以线程的方式运行task,Spark Streaming至少包含一个receiver task。
Receiver接收数据后生成Block,隐稿并把BlockId汇报给Driver,然后备份到另外一个Executor上。
ReceiverTracker维护Reciver汇报的BlockId。
Driver定时启动JobGenerator,根据Dstream的关系生成逻辑RDD,然后创建Jobset,交给JobScheduler。
JobScheduler负责调度Jobset,交给DAGScheduler,DAGScheduler根据逻辑RDD,生灶清孝成相应的Stages,每个stage包含一到多个task。
TaskScheduler负责把task调度到Executor上,并维护task的运行正饥状态。
当tasks,stages,jobset完成后,单个batch才算完成。
默认是从hdfs读取陆指文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示陆指从hdfs文件系统上读本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本早悉配地文件系统读,如file:///home/user/spark/README.md
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)