大象教程
首页
Spark
Hadoop
HDFS
MapReduce
Hive
Spark 教程
Spark 教程
Spark 基本架构及运行原理
Spark 安装(本地模式)
Spark 安装(集群模式)
Spark Shell 的使用
使用Intellij idea编写Spark应用程序(Scala+Maven)
使用Intellij idea编写Spark应用程序(Scala+SBT)
SparkContext
Spark Stage
Spark Executor
Spark RDD
Spark RDD 的创建方式
Spark RDD 缓存机制
Spark 键值对 RDD
Spark RDD 基本操作
Spark RDD 依赖关系图
Spark Map 和 FlatMap 的比较
Spark DAG
Spark 集群管理器
Spark spark-submit 提交应用程序
Spark 共享变量
Spark SQL
Spark SQL 教程
Spark SQL 数据类型
Spark SQL DataFrame
Spark SQL 数据源
Spark SQL SparkSession
Spark SQL DataSet
RDD、DataFrame和DataSet的区别
Spark Streaming
Spark Streaming 教程
Spark Streaming DStream
Spark Streaming 检查点(checkpoint)
Spark GraphX
Spark GraphX 教程
Spark GraphX 图操作
Spark GraphX 算法实例
PySpark 教程
PySpark 教程
PySpark 环境设置
PySpark SparkContext
PySpark RDD
PySpark 广播和累加器
PySpark SparkConf
PySpark SparkFiles
PySpark 存储级别
PySpark MLlib
PySpark 序列化器
#PySpark 序列化器 序列化用于 Apache Spark 的性能调优。所有通过网络发送或写入磁盘或持久存储在内存中的数据都应进行序列化。序列化在成本高昂的操作中起着重要作用。 PySpark 支持用于性能调整的自定义序列化程序。PySpark 支持以下两个序列化程序: - MarshalSerializer - PickleSerializer ##MarshalSerializer 使用 Python 的 Marshal Serializer 序列化对象。此序列化程序比 PickleSerializer 更快,但支持的数据类型更少。 ```python class pyspark.MarshalSerializer ``` ##PickleSerializer 使用 Python 的 Pickle 序列化器序列化对象。这个序列化器几乎支持任何 Python 对象,但可能不如更专业的序列化器快。 ```python class pyspark.PickleSerializer ``` 让我们看一个关于 PySpark 序列化的例子。在这里,我们使用 MarshalSerializer 对数据进行序列化。 ```python --------------------------------------serializing.py------------------------------------- from pyspark.context import SparkContext from pyspark.serializers import MarshalSerializer sc = SparkContext("local", "serialization app", serializer = MarshalSerializer()) print(sc.parallelize(list(range(1000))).map(lambda x: 2 * x).take(10)) sc.stop() --------------------------------------serializing.py------------------------------------- ``` 执行结果如下: ```bash $SPARK_HOME/bin/spark-submit serializing.py [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] ```
加我微信交流吧