{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/11065","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/11065/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/11065/comments","events_url":"https://api.github.com/repos/apache/spark/issues/11065/events","html_url":"https://github.com/apache/spark/pull/11065","id":131186303,"number":11065,"title":"[SPARK-13095] [SQL] improve performance for broadcast join with dimension table","user":{"login":"davies","id":40902,"avatar_url":"https://avatars.githubusercontent.com/u/40902?v=3","gravatar_id":"","url":"https://api.github.com/users/davies","html_url":"https://github.com/davies","followers_url":"https://api.github.com/users/davies/followers","following_url":"https://api.github.com/users/davies/following{/other_user}","gists_url":"https://api.github.com/users/davies/gists{/gist_id}","starred_url":"https://api.github.com/users/davies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davies/subscriptions","organizations_url":"https://api.github.com/users/davies/orgs","repos_url":"https://api.github.com/users/davies/repos","events_url":"https://api.github.com/users/davies/events{/privacy}","received_events_url":"https://api.github.com/users/davies/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-02-03T23:17:21Z","updated_at":"2016-02-04T07:37:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/11065","html_url":"https://github.com/apache/spark/pull/11065","diff_url":"https://github.com/apache/spark/pull/11065.diff","patch_url":"https://github.com/apache/spark/pull/11065.patch"},"body":"This PR improve the performance for Broadcast join with dimension tables, which is common in data warehouse.\r\n\r\nIf the join key can fit in a long, we will use a special api `get(Long)` to get the rows from HashedRelation.\r\n\r\nIf the HashedRelation only have unique keys, we will use a special api `getValue(Long)` or `getValue(InternalRow)`.\r\n\r\nIf the keys can fit within a long, also the keys are dense, we will use a array of UnsafeRow, instead a hash map.\r\n\r\nTODO: will do cleanup"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/179692688","html_url":"https://github.com/apache/spark/pull/11065#issuecomment-179692688","issue_url":"https://api.github.com/repos/apache/spark/issues/11065","id":179692688,"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-02-04T07:37:52Z","updated_at":"2016-02-04T07:37:52Z","body":"**[Test build #2513 has started](https://amplab.cs.berkeley.edu/jenkins/job/NewSparkPullRequestBuilder/2513/consoleFull)** for PR 11065 at commit [`f3d008d`](https://github.com/apache/spark/commit/f3d008dbad341fb7accff1a37ec2423cb10fd19c)."}}