gpt4 book ai didi

python - 在 PySpark Builder 中设置 PySpark 序列化器

转载 作者:行者123 更新时间:2023-11-28 18:17:03 25 4
gpt4 key购买 nike

我正在使用 PySpark 2.1.1 并尝试在使用 Spark Submit 时设置序列化程序。在我的应用程序中,我按如下方式初始化 SparkSession.builder

print("creating spark session")
spark = SparkSession.builder.master("yarn").appName("AppName").\
config("driver-library-path","libPath")).\
config("driver-java-options",driverJavaOptions).\
enableHiveSupport().\
config("deploy-mode","client").\
config("spark.serializer","PickleSerializer").\
config("spark.executor.instances",100).\
config("spark.executor.memory","4g").\
getOrCreate()

我收到以下错误

java.lang.ClassNotFoundException: PickleSerializer

初始化序列化程序的正确方法是什么?我意识到 Pickle 是默认的,但我想知道我是否也使用其他受支持的序列化程序之一。

最佳答案

spark.serializer 用于设置Java序列化器。对于 Python 序列化程序,使用 SparkContext

serializer 参数
from pyspark.serializers import PickleSerializer

conf = SparkConf().set(...)
sc = SparkContext(conf=conf, serializer=PickleSerializer())

一旦 SparkContext 准备就绪,您就可以使用它显式初始化 SparkSession:

spark = SparkSession(sc)
spark.sparkContext is sc

## True

或隐含地(it will use SparkContext.getOrCreate):

spark = SparkSession.builder.enableHiveSupport().getOrCreate()
spark.sparkContext is sc

## True

关于python - 在 PySpark Builder 中设置 PySpark 序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47701769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com