{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/8794","labels_url":"https://api.github.com/repos/apache/spark/issues/8794/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/8794/comments","events_url":"https://api.github.com/repos/apache/spark/issues/8794/events","html_url":"https://github.com/apache/spark/pull/8794","id":106917668,"number":8794,"title":"[SPARK-10051][SPARKR] Support collecting data of StructType in DataFrame","user":{"login":"sun-rui","id":2528327,"avatar_url":"https://avatars.githubusercontent.com/u/2528327?v=3","gravatar_id":"","url":"https://api.github.com/users/sun-rui","html_url":"https://github.com/sun-rui","followers_url":"https://api.github.com/users/sun-rui/followers","following_url":"https://api.github.com/users/sun-rui/following{/other_user}","gists_url":"https://api.github.com/users/sun-rui/gists{/gist_id}","starred_url":"https://api.github.com/users/sun-rui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sun-rui/subscriptions","organizations_url":"https://api.github.com/users/sun-rui/orgs","repos_url":"https://api.github.com/users/sun-rui/repos","events_url":"https://api.github.com/users/sun-rui/events{/privacy}","received_events_url":"https://api.github.com/users/sun-rui/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-09-17T06:00:34Z","updated_at":"2015-09-17T09:45:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/8794","html_url":"https://github.com/apache/spark/pull/8794","diff_url":"https://github.com/apache/spark/pull/8794.diff","patch_url":"https://github.com/apache/spark/pull/8794.patch"},"body":"Two points in this PR:\r\n\r\n1.    Originally thought was that a named R list is assumed to be a struct in SerDe. But this is problematic because some R functions will implicitly generate named lists that are not intended to be a struct when transferred by SerDe. So SerDe clients have to explicitly mark a names list as struct by changing its class from \"list\" to \"struct\".\r\n\r\n2.    SerDe is in the Spark Core module, and data of StructType is represented as GenricRow which is defined in Spark SQL module. SerDe can't import GenricRow as in maven build  Spark SQL module depends on Spark Core module. So this PR adds a registration hook in SerDe to allow SQLUtils in Spark SQL module to register its functions for serialization and deserialization of StructType."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/141025410","html_url":"https://github.com/apache/spark/pull/8794#issuecomment-141025410","issue_url":"https://api.github.com/repos/apache/spark/issues/8794","id":141025410,"user":{"login":"AmplabJenkins","id":4031291,"avatar_url":"https://avatars.githubusercontent.com/u/4031291?v=3","gravatar_id":"","url":"https://api.github.com/users/AmplabJenkins","html_url":"https://github.com/AmplabJenkins","followers_url":"https://api.github.com/users/AmplabJenkins/followers","following_url":"https://api.github.com/users/AmplabJenkins/following{/other_user}","gists_url":"https://api.github.com/users/AmplabJenkins/gists{/gist_id}","starred_url":"https://api.github.com/users/AmplabJenkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AmplabJenkins/subscriptions","organizations_url":"https://api.github.com/users/AmplabJenkins/orgs","repos_url":"https://api.github.com/users/AmplabJenkins/repos","events_url":"https://api.github.com/users/AmplabJenkins/events{/privacy}","received_events_url":"https://api.github.com/users/AmplabJenkins/received_events","type":"User","site_admin":false},"created_at":"2015-09-17T09:45:45Z","updated_at":"2015-09-17T09:45:45Z","body":"Test PASSed.\nRefer to this link for build results (access rights to CI server needed): \nhttps://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42581/\nTest PASSed."}}