Hyukjin Kwon created SPARK-61181:
------------------------------------

             Summary: Read the local relation settings of the server for local 
relations of 64 KiB or more, and raise LOCAL_RELATION_SIZE_LIMIT_EXCEEDED, in 
the Rust and Python clients as PySpark does
                 Key: SPARK-61181
                 URL: https://issues.apache.org/jira/browse/SPARK-61181
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: Hyukjin Kwon


PySpark Connect's createDataFrame reads 
spark.sql.session.localRelationCacheThreshold and 
spark.sql.session.localRelationSizeLimit for every local relation: at the 
threshold it uploads the relation as cache artifacts, and past the size limit 
it raises LOCAL_RELATION_SIZE_LIMIT_EXCEEDED.

The Rust client reads them only for a relation of at least 32 MiB of Arrow 
data, and sends a smaller one inline. So, with both settings lowered, local 
rows and some pandas frames (those of the float64 and string fast paths) under 
32 MiB are sent without the error, while the same frame with a DDL schema goes 
through the Arrow importer and raises it. For example, with a threshold of 1 
byte and a size limit of 100 bytes, createDataFrame of 200 rows of (long, 
string) succeeds, where PySpark raises LOCAL_RELATION_SIZE_LIMIT_EXCEEDED.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to