Java 使用pyspark创建自定义文件读取器,以读取数据中具有换行符的文件

Java 使用pyspark创建自定义文件读取器,以读取数据中具有换行符的文件,java,scala,apache-spark,pyspark,hdfs,Java,Scala,Apache Spark,Pyspark,Hdfs,我在HDFS中有一个带分隔符的文件,它在数据本身中包含换行符(\n),因此在使用sc.textFile()读取时记录被错误地分割。由于数据未被引用,我无法使用spark中提供的多行选项 作为解决方案,我计划在pyspark中创建一个自定义读取器,这样,如果任何记录包含的分隔符数量较少,那么下一个记录将与相同的分隔符合并。我是一个新的火花,并寻求建议,这是否是正确的方法和可能的实施 样本数据: ID,NAME,AGE,SEX,LOCATION 1,Abc,33,M,India 2,De

我在HDFS中有一个带分隔符的文件,它在数据本身中包含换行符(\n),因此在使用sc.textFile()读取时记录被错误地分割。由于数据未被引用,我无法使用spark中提供的多行选项

作为解决方案,我计划在pyspark中创建一个自定义读取器,这样,如果任何记录包含的分隔符数量较少,那么下一个记录将与相同的分隔符合并。我是一个新的火花,并寻求建议,这是否是正确的方法和可能的实施

样本数据:

ID,NAME,AGE,SEX,LOCATION 

 1,Abc,33,M,India

 2,De 

 f,45,F,Australia 

3,Ijk,21,F,Canada
预期产量-

ID,NAME,AGE,SEX,LOCATION

 1,Abc,33,M,India

 2,Def,45,F,Australia 

 3,Ijk,21,F,Canada

(请注意,样本数据中的“Def”在预期输出中变为“Def”)

您的预期输出是否与样本数据相同?不便之处,敬请原谅。我已经更新了问题的示例和预期输出部分。您的评论没有回答我的问题。通过登录编辑,可以看到“De”和“f”之间有一条新线,但很难在问题正文中看到。我在问题中添加了一条注释,以强调差异,以便其他人可以看到。对于给您带来的不便,我深表歉意。我已经更新了问题的“样本和预期输出”部分。您的数据大小是多少?您的预期输出与样本数据相同吗?很抱歉给您带来不便。我已经更新了问题的示例和预期输出部分。您的评论没有回答我的问题。通过登录编辑,可以看到“De”和“f”之间有一条新线,但很难在问题正文中看到。我在问题中添加了一条注释,以强调差异,以便其他人可以看到。对于给您带来的不便,我深表歉意。我已经更新了问题的样本和预期输出部分。您的数据大小是多少?