Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-36089][SQL][DOCS] Update the SQL migration guide about encodin…
…g auto-detection of CSV files ### What changes were proposed in this pull request? In the PR, I propose to update the SQL migration guide, in particular the section about the migration from Spark 2.4 to 3.0. New item informs users about the following issue: **What**: Spark doesn't detect encoding (charset) in CSV files with BOM correctly. Such files can be read only in the multiLine mode when the CSV option encoding matches to the actual encoding of CSV files. For example, Spark cannot read UTF-16BE CSV files when encoding is set to UTF-8 which is the default mode. This is the case of the current ES ticket. **Why**: In previous Spark versions, encoding wasn't propagated to the underlying library that means the lib tried to detect file encoding automatically. It could success for some encodings that require BOM presents at the beginning of files. Starting from the versions 3.0, users can specify file encoding via the CSV option encoding which has UTF-8 as the default value. Spark propagates such default to the underlying library (uniVocity), and as a consequence this turned off encoding auto-detection. **When**: Since Spark 3.0. In particular, the commit apache@2df34db causes the issue. **Workaround**: Enabling the encoding auto-detection mechanism in uniVocity by passing null as the value of CSV option encoding. A more recommended approach is to set the encoding option explicitly. ### Why are the changes needed? To improve user experience with Spark SQL. This should help to users in their migration from Spark 2.4. ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? Should be checked by building docs in GA/jenkins. Closes apache#33300 from MaxGekk/csv-encoding-migration-guide. Authored-by: Max Gekk <[email protected]> Signed-off-by: Hyukjin Kwon <[email protected]>
- Loading branch information