Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.0
Description
Enable collation support for CSV built-in string functions in Spark (CsvToStructs, SchemaOfCsv, StructsToCsv). First confirm what is the expected behaviour for these functions when given collated strings, and then move on to implementation and testing. You will find these expressions in the csvExpressions.scala file, and they should mostly be pass-through functions. Implement the corresponding E2E SQL tests (CollationSQLExpressionsSuite) to reflect how this function should be used with collation in SparkSQL, and feel free to use your chosen Spark SQL Editor to experiment with the existing functions to learn more about how they work. In addition, look into the possible use-cases and implementation of similar functions within other other open-source DBMS, such as PostgreSQL.
The goal for this Jira ticket is to implement the CSV expressions so that they support all collation types currently supported in Spark. To understand what changes were introduced in order to enable full collation support for other existing functions in Spark, take a look at the Spark PRs and Jira tickets for completed tasks in this parent (for example: Ascii, Chr, Base64, UnBase64, Decode, StringDecode, Encode, ToBinary, FormatNumber, Sentences).
Read more about ICU Collation Concepts and Collator class. Also, refer to the Unicode Technical Standard for string collation.
Attachments
Issue Links
- links to