首页 > 解决方案 > 从镶木地板创建 Spark 数据帧时未正确编码的特殊字符

问题描述

我的输入 parquet 文件有一个定义为 的列optional binary title (UTF8);,其中可能包含特殊字符,例如德语 umlat(即薛定谔)。

当使用 Spark 将 parquet 的内容加载到 DataFrame 时,行的内容将值Schrödinger加载为Schrödinger。我相信为什么会发生这种情况的最佳解释在这里得到了解答,尽管我的印象是 Spark 无论如何都会默认将 parquet 文件读取为 UTF-8。

我试图通过使用此处描述的选项参数来强制 UTF-8 编码,但仍然没有运气。有什么建议么?

标签: apache-sparkutf-8apache-spark-sqlcharacter-encodingparquet

解决方案


您可以尝试使用编码 CP1252。它适用于 UTF8 不支持的大多数特殊字符。


推荐阅读