Github user viirya commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19325#discussion_r140626955
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/python/ArrowEvalPythonExec.scala
 ---
    @@ -51,10 +51,12 @@ case class ArrowEvalPythonExec(udfs: Seq[PythonUDF], 
output: Seq[Attribute], chi
           outputIterator.map(new ArrowPayload(_)), context)
     
         // Verify that the output schema is correct
    -    val schemaOut = 
StructType.fromAttributes(output.drop(child.output.length).zipWithIndex
    -      .map { case (attr, i) => attr.withName(s"_$i") })
    -    assert(schemaOut.equals(outputRowIterator.schema),
    -      s"Invalid schema from pandas_udf: expected $schemaOut, got 
${outputRowIterator.schema}")
    +    if (outputIterator.nonEmpty) {
    +      val schemaOut = 
StructType.fromAttributes(output.drop(child.output.length).zipWithIndex
    +        .map { case (attr, i) => attr.withName(s"_$i") })
    +      assert(schemaOut.equals(outputRowIterator.schema),
    +        s"Invalid schema from pandas_udf: expected $schemaOut, got 
${outputRowIterator.schema}")
    --- End diff --
    
    Looks like we don't have a test against this case. We should add a test for 
invalid schema.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to