Apache spark 当spark序列化程序与Dataframe API一起使用时

Apache spark 当spark序列化程序与Dataframe API一起使用时,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我想知道如果我的应用程序使用DataFrameAPI,什么时候使用spark.serializer 如果我理解得很好: 不用于缓存或洗牌 仅适用于闭包序列化和广播变量 这是正确的吗?spark.serializer在使用RDD时有其用途,用于在工作进程之间洗牌数据、检查点、将RDD序列化到磁盘等 DataFrame有自己的用于缓存的列存储。因此,spark.serializer根本没有影响 Spark使用Spark.closure.serializer用于对闭包和广播变量进行序列化,这是一个

我想知道如果我的应用程序使用
DataFrame
API,什么时候使用
spark.serializer

如果我理解得很好:

  • 不用于缓存或洗牌
  • 仅适用于闭包序列化和广播变量
这是正确的吗?

spark.serializer在使用RDD时有其用途,用于在工作进程之间洗牌数据、检查点、将RDD序列化到磁盘等

DataFrame有自己的用于缓存的列存储。因此,spark.serializer根本没有影响

Spark使用Spark.closure.serializer用于对闭包和广播变量进行序列化,这是一个JavaSerializer

回答你的问题

  • 对。因为Dataframe使用自己的列存储进行缓存。因此,spark.serializer没有影响

  • 否。用于spark.closure.serializer下的闭包和广播变量序列化closureSerializer。使用了serializer,它是一个JavaSerializer