{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/11572","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/11572/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/11572/comments","events_url":"https://api.github.com/repos/apache/spark/issues/11572/events","html_url":"https://github.com/apache/spark/pull/11572","id":139156655,"number":11572,"title":"[SPARK-13738][SQL] Cleanup Data Source resolution","user":{"login":"marmbrus","id":527,"avatar_url":"https://avatars.githubusercontent.com/u/527?v=3","gravatar_id":"","url":"https://api.github.com/users/marmbrus","html_url":"https://github.com/marmbrus","followers_url":"https://api.github.com/users/marmbrus/followers","following_url":"https://api.github.com/users/marmbrus/following{/other_user}","gists_url":"https://api.github.com/users/marmbrus/gists{/gist_id}","starred_url":"https://api.github.com/users/marmbrus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marmbrus/subscriptions","organizations_url":"https://api.github.com/users/marmbrus/orgs","repos_url":"https://api.github.com/users/marmbrus/repos","events_url":"https://api.github.com/users/marmbrus/events{/privacy}","received_events_url":"https://api.github.com/users/marmbrus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-03-08T02:22:45Z","updated_at":"2016-03-08T23:19:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/11572","html_url":"https://github.com/apache/spark/pull/11572","diff_url":"https://github.com/apache/spark/pull/11572.diff","patch_url":"https://github.com/apache/spark/pull/11572.patch"},"body":"Follow-up to #11509, that simply refactors the interface that we use when resolving a pluggable `DataSource`.\r\n - Multiple functions share the same set of arguments so we make this a case class, called `DataSource`.  Actual resolution is now done by calling a function on this class.\r\n - Instead of having multiple methods named `apply` (some of which do writing some of which do reading) we now explicitly have `resolveRelation()` and `write(mode, df)`.\r\n - Get rid of `Array[String]` since this is an internal API and was forcing us to awkwardly call `toArray` in a bunch of places."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/194013959","html_url":"https://github.com/apache/spark/pull/11572#issuecomment-194013959","issue_url":"https://api.github.com/repos/apache/spark/issues/11572","id":194013959,"user":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"created_at":"2016-03-08T23:19:09Z","updated_at":"2016-03-08T23:19:09Z","body":"LGTM - merging in master.\r\n"}}