spark streaming print()方法

时间:2017-01-12 14:59:38

标签: apache-spark spark-streaming

根据output transformations

上的Sparks文档
  

print():在运行流应用程序的驱动程序节点上打印DStream中每批数据的前十个元素。这个   对于开发和调试很有用。

根据cluster overview documentation

  

Spark应用程序作为集群上的独立进程集运行,   由主程序中的SparkContext对象协调(称为   司机程序)。

我的问题是司机==主人?

即。是否在驱动程序上打印?

2 个答案:

答案 0 :(得分:2)

Master是资源经理。它不直接参与数据处理,也不是应用程序的一部分。

print在驱动程序上执行,该驱动程序是应用程序的入口点。

答案 1 :(得分:2)

  

我的问题是,是司机==主人吗?

没有。驱动程序是初始化SparkContext的过程。它将存在于你告诉它的地方。例如,如果使用本地工作的local[*]运行作业,则会在计算机上本地初始化驱动程序。如果在默认的独立资源管理器上以“客户端模式”运行spark,它将从提交作业的位置启动驱动程序。如果使用“群集模式”,则会将驱动程序分派到群集中的某个Worker节点。

master是一个独立的进程,负责管理集群。它知道它正在管理哪些工作,并且他的工作是为您提供足够的资源来运行您的驱动程序,以便您可以利用该集群。

使用DStream.print时,数据将发送到运行驱动程序的任何位置。如果您从一台也恰好是运行主进程的机器启动驱动程序,则该机器将接收数据并打印输出。