检测到不受支持的 UCS-4 字节序 (3412) - Scala/Spark

Ing*_*sus 5 scala apache-spark

我在 spark/scala 上运行代码,但出现错误,我不知道是什么意思...

错误:由:java.io.CharConversionException:检测到不支持的 UCS-4 字节序 (3412)

我导入了一些文件,并使用了将其作为参数存储在函数中的变量,一些文件有效,但有些文件无效。

Uij*_*ong 0

尤纳坦·威尔科夫 (Yonatan Wilkof) 关于这个问题的原因是正确的。

当我将 gzip 压缩文件作为文本文件读取时,发生了这种情况。如果是这种情况,添加 .gz 文件后缀或将压缩代码设置为 gzip 应该可以解决问题。

这段代码解决了这个问题。

df = spark.read.format(file_format).load(file_path, header="true", compression="gzip")
Run Code Online (Sandbox Code Playgroud)

--

我的问题是另一回事。

编码存在问题,因为 file_path 包含 .gz 文件以外的文件,例如.gz.__distcp__split_0.0.

因此,我删除了未格式化的文件并如下所示读取它,它很好地读取了 gzip 文件,而无需指定任何设置(因为它会自动设置编解码器)。

df = spark.read.format(file_format).load(file_path, header="true")
Run Code Online (Sandbox Code Playgroud)