首页 > 解决方案 > 在 spark scala 中读取 json 对象时,具有通用替换字符(“�”)的列被空值填充

问题描述

我正在尝试从包含多个单行 json 对象的 HDFS 读取 json 文件,例如,

{"id":"1","description":"Some_description","date":"20210910"}
{"id":"2","description":"Some_other_description","date":"20210911"}
{"id":"3","description":"Som�_value","date":"20210912"}

通过火花斯卡拉。

但是,当我处理这些数据时,在从 spark 调用 read 方法后,包含 � 字符的行中的所有值,即 id :3 行,都为空

我的阅读语法:

val inputDF = sparkSession.read
              .format("json")
              .schema(*some_schema*)
              .option("encoding","UTF-16")
              .load(*some_path*)

我尝试提供所有可能的编码(UTF-8、UTF-16、CP1252 等),但似乎没有任何效果。

有人可以帮我解决这种情况,这样当我得到任何带有�字符的行时,这些值不会被清空,我稍后可以在我的管道中单独处理。

谢谢

标签: scalaapache-sparkhadoophdfs

解决方案


推荐阅读