L. C. Hsieh created SPARK-60325:
-----------------------------------

             Summary: Re-enable Arrow columnar input to Python UDFs, holding 
only vectors that are not reused
                 Key: SPARK-60325
                 URL: https://issues.apache.org/jira/browse/SPARK-60325
             Project: Spark
          Issue Type: Improvement
          Components: SQL
    Affects Versions: 5.0.0
            Reporter: L. C. Hsieh


SPARK-56350 added an Arrow columnar path to Arrow Python UDFs, which keeps the 
pass-through columns of each input batch until its result comes back from 
Python, many batches later. SPARK-60294 disabled 
spark.sql.execution.arrow.pythonUDF.columnarInput.enabled by default, because a 
producer may release or overwrite the vectors it returned before then: e.g. a 
reader that refills the same vectors for every batch, the Arrow cache, which 
closed the previous root once the next batch was read, or the Python output of 
a stacked ArrowEvalPythonExec.

SPARK-60306 added an internal marker, ReusedColumnVector, for vectors that 
their producer may release or overwrite after returning them. This ticket makes 
the Arrow columnar path hold only vectors without the marker, and take the row 
queue path for the others; makes the Arrow cache leave the release of its 
batches to their consumer, so it stays on the columnar path; and enables the 
configuration by default again.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to