{"action":"created","issue":{"url":"https://api.github.com/repos/apache/incubator-carbondata/issues/369","repository_url":"https://api.github.com/repos/apache/incubator-carbondata","labels_url":"https://api.github.com/repos/apache/incubator-carbondata/issues/369/labels{/name}","comments_url":"https://api.github.com/repos/apache/incubator-carbondata/issues/369/comments","events_url":"https://api.github.com/repos/apache/incubator-carbondata/issues/369/events","html_url":"https://github.com/apache/incubator-carbondata/pull/369","id":192377479,"number":369,"title":"[CARBONDATA-470]Add unsafe offheap and on-heap sort in carbodata loading","user":{"login":"ravipesala","id":8134086,"avatar_url":"https://avatars.githubusercontent.com/u/8134086?v=3","gravatar_id":"","url":"https://api.github.com/users/ravipesala","html_url":"https://github.com/ravipesala","followers_url":"https://api.github.com/users/ravipesala/followers","following_url":"https://api.github.com/users/ravipesala/following{/other_user}","gists_url":"https://api.github.com/users/ravipesala/gists{/gist_id}","starred_url":"https://api.github.com/users/ravipesala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ravipesala/subscriptions","organizations_url":"https://api.github.com/users/ravipesala/orgs","repos_url":"https://api.github.com/users/ravipesala/repos","events_url":"https://api.github.com/users/ravipesala/events{/privacy}","received_events_url":"https://api.github.com/users/ravipesala/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-29T19:34:09Z","updated_at":"2016-12-06T13:56:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/incubator-carbondata/pulls/369","html_url":"https://github.com/apache/incubator-carbondata/pull/369","diff_url":"https://github.com/apache/incubator-carbondata/pull/369.diff","patch_url":"https://github.com/apache/incubator-carbondata/pull/369.patch"},"body":"In the current carbondata system loading performance is not so encouraging since we need to sort the data at executor level for data loading. Carbondata collects batch of data and sorts before dumping to the temporary files and finally it does merge sort from those temporary files to finish sorting. Here we face two major issues , one is disk IO and second is GC issue. Even though we dump to the file still carbondata face lot of GC issue since we sort batch data in-memory before dumping to the temporary files.\r\nTo solve the above problems we can introduce Unsafe Storage and Unsafe sort.\r\nUnsafe Storage : User can configure the memory limit to keep the amount of data to in-memory. Here we can keep all the data in continuous memory location either on off-heap or on-heap using Unsafe. Once configure limit exceeds remaining data will be spilled to disk.\r\nUnsafe Sort : The data which is store in-memory using Unsafe can be sorted using Unsafe sort."},"comment":{"url":"https://api.github.com/repos/apache/incubator-carbondata/issues/comments/265155219","html_url":"https://github.com/apache/incubator-carbondata/pull/369#issuecomment-265155219","issue_url":"https://api.github.com/repos/apache/incubator-carbondata/issues/369","id":265155219,"user":{"login":"jackylk","id":6500698,"avatar_url":"https://avatars.githubusercontent.com/u/6500698?v=3","gravatar_id":"","url":"https://api.github.com/users/jackylk","html_url":"https://github.com/jackylk","followers_url":"https://api.github.com/users/jackylk/followers","following_url":"https://api.github.com/users/jackylk/following{/other_user}","gists_url":"https://api.github.com/users/jackylk/gists{/gist_id}","starred_url":"https://api.github.com/users/jackylk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jackylk/subscriptions","organizations_url":"https://api.github.com/users/jackylk/orgs","repos_url":"https://api.github.com/users/jackylk/repos","events_url":"https://api.github.com/users/jackylk/events{/privacy}","received_events_url":"https://api.github.com/users/jackylk/received_events","type":"User","site_admin":false},"created_at":"2016-12-06T13:56:13Z","updated_at":"2016-12-06T13:56:13Z","body":"ok to test"}}
{"actor":{"display_login":"jackylk"}}