修改默认序列化方式
Spark 默认使用 Java Serialization 作为序列化方式,但是这种序列化方式一般会被认为性能和效率一般。因此 Spark 官方是推荐使用 Kryo 来代替默认的序列化方式的,为了便于调试,我们可以在 spark-shell 环境中更改默认的配置参数,使得默认的序列化方式变为 KryoSerializer。
$ export SPARK_JAVA_OPTS="-Dspark.serializer=org.apache.spark.serializer.KryoSerializer"
$ ./bin/spark-shell
又或者打开 spark-default.conf,打开注释如下图。
...
...
# Example:
# spark.master spark://master:7077
# spark.eventLog.enabled true
# spark.eventLog.dir hdfs://namenode:8021/directory
spark.serializer org.apache.spark.serializer.KryoSerializer
# spark.driver.memory 5g
# spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
...
...
然后就可以在 Spark UI 是查看一下环境变量。