{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/7813","labels_url":"https://api.github.com/repos/apache/spark/issues/7813/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/7813/comments","events_url":"https://api.github.com/repos/apache/spark/issues/7813/events","html_url":"https://github.com/apache/spark/pull/7813","id":98300638,"number":7813,"title":"[SPARK-9240] [SQL] [WIP] Hybrid aggregate operator using unsafe row","user":{"login":"yhuai","id":2072857,"avatar_url":"https://avatars.githubusercontent.com/u/2072857?v=3","gravatar_id":"","url":"https://api.github.com/users/yhuai","html_url":"https://github.com/yhuai","followers_url":"https://api.github.com/users/yhuai/followers","following_url":"https://api.github.com/users/yhuai/following{/other_user}","gists_url":"https://api.github.com/users/yhuai/gists{/gist_id}","starred_url":"https://api.github.com/users/yhuai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yhuai/subscriptions","organizations_url":"https://api.github.com/users/yhuai/orgs","repos_url":"https://api.github.com/users/yhuai/repos","events_url":"https://api.github.com/users/yhuai/events{/privacy}","received_events_url":"https://api.github.com/users/yhuai/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-31T02:00:48Z","updated_at":"2015-07-31T02:24:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/7813","html_url":"https://github.com/apache/spark/pull/7813","diff_url":"https://github.com/apache/spark/pull/7813.diff","patch_url":"https://github.com/apache/spark/pull/7813.patch"},"body":"This PR adds a base aggregation iterator `AggregationIterator`, which is used to create `SortBasedAggregationIterator` (for sort-based aggregation) and `UnsafeHybridAggregationIterator` (first tries hash-based aggregation and if the memory consumption of the map exceeds a certain threshold, falls back to the sort-based aggregation). With these two iterators, we will not need existing iterators and I am removing those. Also, we can use a single physical `Aggregate` operator and it internally determines what iterators to used.\r\n\r\nhttps://issues.apache.org/jira/browse/SPARK-9240"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/126545282","html_url":"https://github.com/apache/spark/pull/7813#issuecomment-126545282","issue_url":"https://api.github.com/repos/apache/spark/issues/7813","id":126545282,"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-07-31T02:24:01Z","updated_at":"2015-07-31T02:24:01Z","body":"  [Test build #39133 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/39133/console) for   PR 7813 at commit [`84ceb3a`](https://github.com/apache/spark/commit/84ceb3ae5b9d96a12001698a8c46d19764734f44).\n * This patch **fails Spark unit tests**.\n * This patch merges cleanly.\n * This patch adds no public classes."}}