{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/12067","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/12067/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/12067/comments","events_url":"https://api.github.com/repos/apache/spark/issues/12067/events","html_url":"https://github.com/apache/spark/pull/12067","id":144649433,"number":12067,"title":"[SPARK-14275][SQL] Reimplement TypedAggregateExpression to DeclarativeAggregate","user":{"login":"cloud-fan","id":3182036,"avatar_url":"https://avatars.githubusercontent.com/u/3182036?v=3","gravatar_id":"","url":"https://api.github.com/users/cloud-fan","html_url":"https://github.com/cloud-fan","followers_url":"https://api.github.com/users/cloud-fan/followers","following_url":"https://api.github.com/users/cloud-fan/following{/other_user}","gists_url":"https://api.github.com/users/cloud-fan/gists{/gist_id}","starred_url":"https://api.github.com/users/cloud-fan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloud-fan/subscriptions","organizations_url":"https://api.github.com/users/cloud-fan/orgs","repos_url":"https://api.github.com/users/cloud-fan/repos","events_url":"https://api.github.com/users/cloud-fan/events{/privacy}","received_events_url":"https://api.github.com/users/cloud-fan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2016-03-30T16:46:32Z","updated_at":"2016-04-07T09:17:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/12067","html_url":"https://github.com/apache/spark/pull/12067","diff_url":"https://github.com/apache/spark/pull/12067.diff","patch_url":"https://github.com/apache/spark/pull/12067.patch"},"body":"## What changes were proposed in this pull request?\r\n\r\n`ExpressionEncoder` is just a container for serialization and deserialization expressions, we can use these expressions to build `TypedAggregateExpression` directly, so that it can fit into `DeclarativeAggregate`, which is more efficient.\r\n\r\n\r\n## How was this patch tested?\r\n\r\nexisting tests\r\n"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/206778169","html_url":"https://github.com/apache/spark/pull/12067#issuecomment-206778169","issue_url":"https://api.github.com/repos/apache/spark/issues/12067","id":206778169,"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":"2016-04-07T09:17:41Z","updated_at":"2016-04-07T09:17:41Z","body":"**[Test build #55209 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/55209/consoleFull)** for PR 12067 at commit [`905234e`](https://github.com/apache/spark/commit/905234e628f342051953f3a1c09748d28881ad01)."}}