{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/20594","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/20594/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/20594/comments","events_url":"https://api.github.com/repos/apache/spark/issues/20594/events","html_url":"https://github.com/apache/spark/pull/20594","id":296615434,"number":20594,"title":"[SPARK-23377][ML] Fixes Bucketizer with multiple columns persistence bug","user":{"login":"viirya","id":68855,"avatar_url":"https://avatars1.githubusercontent.com/u/68855?v=4","gravatar_id":"","url":"https://api.github.com/users/viirya","html_url":"https://github.com/viirya","followers_url":"https://api.github.com/users/viirya/followers","following_url":"https://api.github.com/users/viirya/following{/other_user}","gists_url":"https://api.github.com/users/viirya/gists{/gist_id}","starred_url":"https://api.github.com/users/viirya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/viirya/subscriptions","organizations_url":"https://api.github.com/users/viirya/orgs","repos_url":"https://api.github.com/users/viirya/repos","events_url":"https://api.github.com/users/viirya/events{/privacy}","received_events_url":"https://api.github.com/users/viirya/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-02-13T05:08:06Z","updated_at":"2018-02-13T12:37:07Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/20594","html_url":"https://github.com/apache/spark/pull/20594","diff_url":"https://github.com/apache/spark/pull/20594.diff","patch_url":"https://github.com/apache/spark/pull/20594.patch"},"body":"## What changes were proposed in this pull request?\r\n\r\n#### Problem:\r\n\r\nSince 2.3, `Bucketizer` supports multiple input/output columns. We will check if exclusive params are set during transformation. E.g., if `inputCols` and `outputCol` are both set, an error will be thrown.\r\n\r\nHowever, when we write `Bucketizer`, looks like the default params and user-supplied params are merged during writing. All saved params are loaded back and set to created model instance. So the default `outputCol` param in `HasOutputCol` trait will be set in `paramMap` and become an user-supplied param. That makes the check of exclusive params failed.\r\n\r\n#### Fix:\r\n\r\nThis changes the saving logic of Bucketizer to handle this case. This is a quick fix to catch the time of 2.3. We should consider modify the persistence mechanism later.\r\n\r\nPlease see the discussion in the JIRA.\r\n\r\nNote: The multi-column `QuantileDiscretizer` also has the same issue.\r\n\r\n## How was this patch tested?\r\n\r\nModified tests."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/365254515","html_url":"https://github.com/apache/spark/pull/20594#issuecomment-365254515","issue_url":"https://api.github.com/repos/apache/spark/issues/20594","id":365254515,"user":{"login":"AmplabJenkins","id":4031291,"avatar_url":"https://avatars3.githubusercontent.com/u/4031291?v=4","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":"2018-02-13T12:37:07Z","updated_at":"2018-02-13T12:37:07Z","author_association":"NONE","body":"Test PASSed.\nRefer to this link for build results (access rights to CI server needed): \nhttps://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/854/\nTest PASSed."}}
{"actor":{"display_login":"AmplabJenkins"}}