GitHub user MaxGekk opened a pull request:

    https://github.com/apache/spark/pull/23132

    [SPARK-26163][SQL] Parsing decimals from JSON using locale

    ## What changes were proposed in this pull request?
    
    In the PR, I propose using of the locale option to parse (and infer) 
decimals from JSON input. After the changes, `JacksonParser` converts input 
string to `BigDecimal` and to Spark's Decimal by using 
`java.text.DecimalFormat`. New behaviour can be switched off via SQL config 
`spark.sql.legacy.decimalParsing.enabled`.
    
    ## How was this patch tested?
    
    Added 2 tests to `JsonExpressionsSuite` for the `en-US`, `ko-KR`, `ru-RU`, 
`de-DE` locales: 
    - Inferring decimal type using locale from JSON field values
    - Converting JSON field values to specified decimal type using the locales. 


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/MaxGekk/spark-1 json-decimal-parsing-locale

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/23132.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #23132
    
----
commit 506417ed4b643298560a66c043f7b31beb489da3
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-10T19:49:12Z

    Test for parsing decimals using locale

commit ac25fb6ed1d3d6689ad8841476c025848c87f2a3
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-10T19:51:48Z

    Parsing decimals using locale

commit b784003078270a46aaf8aceb2d86dd9f13f3500c
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-10T19:54:00Z

    Updating the migration guide

commit d0522093dfe1823f91100cbec3ef5d6c8a372f27
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T19:32:45Z

    Merge remote-tracking branch 'origin/master' into 
json-decimal-parsing-locale
    
    # Conflicts:
    #   
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/JsonExpressionsSuite.scala

commit 722e135cf3b94e22079fd9a0fe1d309a04e76a64
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T19:58:39Z

    Add SQL config spark.sql.legacy.decimalParsing.enabled

commit dc6c0ac0a97b31441d99ff1dd71608ae5e2eca73
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T20:00:31Z

    Updating the migration guide

commit f15b1817fb51d453487665122473855712214692
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T20:38:24Z

    Added a test for parsing

commit ab781d54e4f7604d64c72c3c383c549abab0a9a9
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T20:52:03Z

    Fix test

commit 163a8b9d7d017409ae4dfa40e492680bf0e4f935
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T20:52:26Z

    Create getDecimalParser

commit 8fb65c0db85f4bd2f76d473c5e31e772ff0d4c1d
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T22:11:42Z

    Add a test for inferring decimals

commit 7e3a2906a96894cadc58771131d07d06ba265382
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T22:12:35Z

    Change JsonSuite to adopt it for JsonInferSchema class

commit 83920b25f586dc242841ff0a73105ae9e43295ed
Author: Maxim Gekk <max.gekk@...>
Date:   2018-11-24T22:13:01Z

    Inferring decimals from JSON

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to