{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/3916","labels_url":"https://api.github.com/repos/apache/spark/issues/3916/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/3916/comments","events_url":"https://api.github.com/repos/apache/spark/issues/3916/events","html_url":"https://github.com/apache/spark/pull/3916","id":53573071,"number":3916,"title":"[SPARK-4924] Add a library for launching Spark jobs programmatically.","user":{"login":"vanzin","id":1694083,"avatar_url":"https://avatars.githubusercontent.com/u/1694083?v=3","gravatar_id":"","url":"https://api.github.com/users/vanzin","html_url":"https://github.com/vanzin","followers_url":"https://api.github.com/users/vanzin/followers","following_url":"https://api.github.com/users/vanzin/following{/other_user}","gists_url":"https://api.github.com/users/vanzin/gists{/gist_id}","starred_url":"https://api.github.com/users/vanzin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vanzin/subscriptions","organizations_url":"https://api.github.com/users/vanzin/orgs","repos_url":"https://api.github.com/users/vanzin/repos","events_url":"https://api.github.com/users/vanzin/events{/privacy}","received_events_url":"https://api.github.com/users/vanzin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":98,"created_at":"2015-01-06T22:40:31Z","updated_at":"2015-02-25T05:50:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/3916","html_url":"https://github.com/apache/spark/pull/3916","diff_url":"https://github.com/apache/spark/pull/3916.diff","patch_url":"https://github.com/apache/spark/pull/3916.patch"},"body":"This change encapsulates all the logic involved in launching a Spark job\r\ninto a small Java library that can be easily embedded into other applications.\r\n\r\nThe overall goal of this change is twofold, as described in the bug:\r\n\r\n- Provide a public API for launching Spark processes. This is a common request\r\n  from users and currently there's no good answer for it.\r\n\r\n- Remove a lot of the duplicated code and other coupling that exists in the\r\n  different parts of Spark that deal with launching processes.\r\n\r\nA lot of the duplication was due to different code needed to build an\r\napplication's classpath (and the bootstrapper needed to run the driver in\r\ncertain situations), and also different code needed to parse spark-submit\r\ncommand line options in different contexts. The change centralizes those\r\nas much as possible so that all code paths can rely on the library for\r\nhandling those appropriately.\r\n"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/75909347","html_url":"https://github.com/apache/spark/pull/3916#issuecomment-75909347","issue_url":"https://api.github.com/repos/apache/spark/issues/3916","id":75909347,"user":{"login":"SparkQA","id":8108735,"avatar_url":"https://avatars.githubusercontent.com/u/8108735?v=3","gravatar_id":"","url":"https://api.github.com/users/SparkQA","html_url":"https://github.com/SparkQA","followers_url":"https://api.github.com/users/SparkQA/followers","following_url":"https://api.github.com/users/SparkQA/following{/other_user}","gists_url":"https://api.github.com/users/SparkQA/gists{/gist_id}","starred_url":"https://api.github.com/users/SparkQA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SparkQA/subscriptions","organizations_url":"https://api.github.com/users/SparkQA/orgs","repos_url":"https://api.github.com/users/SparkQA/repos","events_url":"https://api.github.com/users/SparkQA/events{/privacy}","received_events_url":"https://api.github.com/users/SparkQA/received_events","type":"User","site_admin":false},"created_at":"2015-02-25T05:50:02Z","updated_at":"2015-02-25T05:50:02Z","body":"  [Test build #27936 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/27936/consoleFull) for   PR 3916 at commit [`0031a8e`](https://github.com/apache/spark/commit/0031a8e05c9d70d086d5e24171b221c4bbbdf230).\n * This patch **fails PySpark unit tests**.\n * This patch merges cleanly.\n * This patch adds no public classes."}}