[英]Spark: Dataframe Serialization
我有2個關於Spark序列化的問題,我只能通過谷歌搜索找不到答案。
我有以下代碼,應該使用Kryo序列化; 用於數據幀的內存大小變為21meg,這是我剛剛緩存而沒有序列化的四分之一; 但是當我刪除Kryo配置時,大小保持相同的21meg。 這是否意味着Kryo從未被用在第一位? 可能是因為數據框中的記錄只是行,Java和Kryo序列化的大小相同嗎?
val conf = new SparkConf() conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer") conf.set("spark.kryo.registrationRequired", "false") val spark = SparkSession.builder.master("local[*]").config(conf) .appName("KryoWithRegistrationNOTRequired").getOrCreate val df = spark.read.csv("09-MajesticMillion.csv") df.persist(StorageLevel.MEMORY_ONLY_SER)
這是否意味着Kryo從未被用在第一位?
這意味着它。 Spark SQL( Dataset
)使用它自己的柱狀存儲進行緩存。 沒有使用Java或Kryo序列化因此spark.serializer
根本沒有影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.