BryanCutler commented on code in PR #36683:
URL: https://github.com/apache/spark/pull/36683#discussion_r889416243
##########
python/pyspark/sql/pandas/conversion.py:
##########
@@ -596,7 +596,7 @@ def _create_from_pandas_with_arrow(
]
# Slice the DataFrame to be batched
- step = -(-len(pdf) // self.sparkContext.defaultParallelism) # round
int up
+ step = self._jconf.arrowMaxRecordsPerBatch()
Review Comment:
I thought this was to control how many partitions were in the rdd? Each
partition could have multiple batches, and probably should be capped at
`arrowMaxRecordsPerBatch`, but since it was coming from a local Pandas
DataFrame already in memory, that didn't seem to be a big deal.
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala:
##########
@@ -2575,6 +2575,18 @@ object SQLConf {
.booleanConf
.createWithDefault(false)
+ val ARROW_LOCAL_RELATION_THRESHOLD =
+ buildConf("spark.sql.execution.arrow.localRelationThreshold")
+ .doc(
+ "When converting Arrow batches to Spark DataFrame, local collections
are used in the " +
+ "driver side if the byte size of Arrow batches is smaller than this
threshold. " +
+ "Otherwise, the Arrow batches are sent and deserialized to Spark
internal rows " +
+ "in the executors.")
+ .version("3.4.0")
+ .bytesConf(ByteUnit.BYTE)
+ .checkValue(_ >= 0, "This value must be equal to or greater than 0.")
+ .createWithDefaultString("48MB")
Review Comment:
Is this the max size of each batch or all batches together?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]