如何使用程序化的spark提交功能

时间:2016-05-15 20:43:24

标签: scala apache-spark

最新的(2015年春季)功能显然旨在允许以编程方式提交spark作业。

这是JIRA https://issues.apache.org/jira/browse/SPARK-4924

然而,关于如何实际使用这些功能存在不确定性(并且还要考虑我)。以下是jira中的最后评论:

enter image description here

当询问这项工作的实际作者进一步解释它是“查看API文档”。

  

“用户文档”是Spark API文档。

作者没有提供进一步的细节,显然觉得整个问题都是自我解释的。如果有人可以在这里连接点:具体来说 - 在API文档中描述了这个更新的Spark提交功能 - 将不胜感激。

以下是我正在寻找的一些信息-Pointers到以下内容:

  • spark api
  • 添加了哪些功能
  • 我们如何使用它们
  • 任何示例/其他相关文档和/或代码

更新接受的答案中提及的SparkLauncher会在简单(master = local [*])条件下启动一个简单的应用。还有待观察它在实际集群中的可用性。在链接代码中添加print语句之后:

println(“已启动..等待......”)   spark.waitFor()

我们确实看到了:

  

推出..并等待..

这可能是向前迈出的一小步。当我走向真正的集群环境时,会更新这个问题。

1 个答案:

答案 0 :(得分:8)

查看pull request的详细信息,似乎该功能由 func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) { // Dismiss the mail compose view controller. controller.dismissViewControllerAnimated(true, completion: nil) } 类提供,如API docs here中所述。

  

SparkLauncher

     

Spark应用程序的启动器。

     

使用此类以编程方式启动Spark应用程序。班级   使用构建器模式允许客户端配置Spark   应用程序并将其作为子进程启动。

API文档相当简单,但我找到了一篇提供worked example的博文(代码也可在GitHub repo中找到)。我已经复制了以下示例的简化版本(未经测试),以防链接过时:

public class SparkLauncher extends Object

另见: