pysparks替换函数使用dict-它是在驱动程序中执行的吗?

j91ykkif  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(153)

上下文
我使用一个docker容器,在那里我使用客户端模式连接到pyspark。在启动上下文之后,我对一个 DataFrame 包括使用 .replace() 用一条Python- dict .

df = 'some pySpark Dataframe'

# The dict I will use for .replace()

mapping = {
   'a': 1,
   'b': 2,
   ...
}

df = df.replace(to_replace=mapping, subset["..."])

在实际应用中 df 相当大,Mapdict包含~100个键。
问题
我使用的集群有足够的能力来处理计算,并且我为spark上下文提供了足够的资源。
无论如何,docker容器在执行 .replace() 暗示内存不足。然而,我认为这不应该是一个问题,因为我认为 .replace() 是在集群内部处理的,而不是驱动程序-显然不是这样;它必须在本地处理(否则容器不会由于驱动程序而崩溃)。
我的问题是:
.replace() 由于使用python- dict ?
是否有一个选项来实际处理 .replace() 而不是司机?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题