[ 
https://issues.apache.org/jira/browse/SPARK-23410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16700799#comment-16700799
 ] 

Maxim Gekk commented on SPARK-23410:
------------------------------------

> Even if lineSeps is set, it is still necessary to identify the file bom 
> charset. 

For sure encoding should be inferred from BOM in any case. I just want to take 
you attention on the case when when lineSep is not set. We infer lineSep in 
UTF-8, and most likely should do the same for other encodings.

> In my opinion, we can try to read the first four bytes of the file on the 
> executor side to identify the encoding of the file.Because once the charset 
> of the file is determined, the charset of lineSeps is also determined.

For JSON, we create JacksonParser on the driver side before file reading. For 
example: 
https://github.com/apache/spark/blob/e9af9460bc008106b670abac44a869721bfde42a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/json/JsonDataSource.scala#L105-L107
 . Need to take this into account.

 [~x1q1j1] Please, open a PR, I am ready to review it.

> I know BOM is only the beginning of the file ..
[~hyukjin.kwon] I just double checked ;-)



> Unable to read jsons in charset different from UTF-8
> ----------------------------------------------------
>
>                 Key: SPARK-23410
>                 URL: https://issues.apache.org/jira/browse/SPARK-23410
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.3.0
>            Reporter: Maxim Gekk
>            Priority: Major
>         Attachments: utf16WithBOM.json
>
>
> Currently the Json Parser is forced to read json files in UTF-8. Such 
> behavior breaks backward compatibility with Spark 2.2.1 and previous versions 
> that can read json files in UTF-16, UTF-32 and other encodings due to using 
> of the auto detection mechanism of the jackson library. Need to give back to 
> users possibility to read json files in specified charset and/or detect 
> charset automatically as it was before.    



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to