You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Apache Spark (JIRA)" <ji...@apache.org> on 2018/02/28 08:54:00 UTC
[jira] [Commented] (SPARK-18161) Default PickleSerializer pickle
protocol doesn't handle > 4GB objects
[ https://issues.apache.org/jira/browse/SPARK-18161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16379971#comment-16379971 ]
Apache Spark commented on SPARK-18161:
--------------------------------------
User 'inpefess' has created a pull request for this issue:
https://github.com/apache/spark/pull/20691
> Default PickleSerializer pickle protocol doesn't handle > 4GB objects
> ---------------------------------------------------------------------
>
> Key: SPARK-18161
> URL: https://issues.apache.org/jira/browse/SPARK-18161
> Project: Spark
> Issue Type: Improvement
> Components: PySpark
> Affects Versions: 2.0.0, 2.0.1
> Reporter: Sloane Simmons
> Priority: Major
>
> When broadcasting a fairly large numpy matrix in a Spark 2.0.1 program, there is an error serializing the object with:
> {{OverflowError: cannot serialize a bytes object larger than 4 GiB}}
> in the stack trace.
> This is because Python's pickle serialization (with protocol <= 3) uses a 32-bit integer for the object size, and so cannot handle objects larger than 4 gigabytes. This was changed in Protocol 4 of pickle (https://www.python.org/dev/peps/pep-3154/#bit-opcodes-for-large-objects) and is available in Python 3.4+.
> I would like to use this protocol for broadcasting and in the default PickleSerializer where available to make pyspark more robust to broadcasting large variables.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org