我有固定长度的文件编码在iso-8859-1.spark 2.4是不尊重作为选项传递的编码。
下面是示例代码(字符已损坏)。
g_df = g_spark.read.option("encoding", "ISO-8859-1").text(loc)
g_df.repartition(1).write.csv(path=loc, header="true", mode="overwrite", encoding="ISO-8859-1")
然而,当我把它读作csv文件时,字符按预期存储。
g_df = g_spark.read.option("encoding", "ISO-8859-1").csv(loc)
g_df.repartition(1).write.csv(path=loc, header="true", mode="overwrite", encoding="ISO-8859-1")
看起来spark不支持文本方法的编码。由于这是固定长度的文件,所以我不能使用csv方法。
你能建议一条出去的路吗
1条答案
按热度按时间628mspwn1#
文本方法不支持编码,所以我尝试了RDDAPI,这对我很有用。
下面是示例代码