[ https://issues.apache.org/jira/browse/SPARK-38955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hyukjin Kwon resolved SPARK-38955. ---------------------------------- Fix Version/s: 3.3.0 Resolution: Fixed Issue resolved by pull request 36294 [https://github.com/apache/spark/pull/36294] > from_csv can corrupt surrounding lines if a lineSep is in the data > ------------------------------------------------------------------ > > Key: SPARK-38955 > URL: https://issues.apache.org/jira/browse/SPARK-38955 > Project: Spark > Issue Type: Bug > Components: SQL > Affects Versions: 3.2.0 > Reporter: Robert Joseph Evans > Assignee: Hyukjin Kwon > Priority: Blocker > Fix For: 3.3.0 > > > I don't know how critical this is. I was doing some general testing to > understand {{from_csv}} and found that if I happen to have a {{lineSep}} in > the input data and I noticed that the next row appears to be corrupted. > {{multiLine}} does not appear to fix it. Because this is data corruption I am > inclined to mark this as CRITICAL or BLOCKER, but it is an odd corner case so > I m not going to set it myself. > {code} > Seq[String]("1,\n2,3,4,5","6,7,8,9,10", "11,12,13,14,15", > null).toDF.select(col("value"), from_csv(col("value"), > StructType(Seq(StructField("a", LongType), StructField("b", StringType))), > Map[String,String]())).show() > +--------------+---------------+ > | value|from_csv(value)| > +--------------+---------------+ > | 1,\n2,3,4,5| {1, null}| > | 6,7,8,9,10| {null, 8}| > |11,12,13,14,15| {11, 12}| > | null| null| > +--------------+---------------+ > {code} > {code} > Seq[String]("1,:2,3,4,5","6,7,8,9,10", "11,12,13,14,15", > null).toDF.select(col("value"), from_csv(col("value"), > StructType(Seq(StructField("a", LongType), StructField("b", StringType))), > Map[String,String]("lineSep" -> ":"))).show() > +--------------+---------------+ > | value|from_csv(value)| > +--------------+---------------+ > | 1,:2,3,4,5| {1, null}| > | 6,7,8,9,10| {null, 8}| > |11,12,13,14,15| {11, 12}| > | null| null| > +--------------+---------------+ > {code} > {code} > Seq[String]("1,\n2,3,4,5","6,7,8,9,10", "11,12,13,14,15", > null).toDF.select(col("value"), from_csv(col("value"), > StructType(Seq(StructField("a", LongType), StructField("b", StringType))), > Map[String,String]("lineSep" -> ":"))).show() > +--------------+---------------+ > | value|from_csv(value)| > +--------------+---------------+ > | 1,\n2,3,4,5| {1, \n2}| > | 6,7,8,9,10| {6, 7}| > |11,12,13,14,15| {11, 12}| > | null| null| > +--------------+---------------+ > {code} -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org