Pyspark withColumn语句太多?

Pyspark withColumn语句太多?,pyspark,Pyspark,我对Spark比较陌生。现在我正在处理一个非常混乱的数据集。因此,我不得不编写许多withColumn语句来更改列中的字符串。我只是数了一下,总共有35个。它们中的大多数只会一次又一次地更改两到三列。我的发言如下: .withColumn( "id", F.when( (F.col("country") == "SE") & (F.col("company") == "ABC"), "22030" ) \ .otherwise(

我对Spark比较陌生。现在我正在处理一个非常混乱的数据集。因此,我不得不编写许多withColumn语句来更改列中的字符串。我只是数了一下,总共有35个。它们中的大多数只会一次又一次地更改两到三列。我的发言如下:

.withColumn(
   "id",
   F.when(
      (F.col("country") == "SE") &
      (F.col("company") == "ABC"),
      "22030"
   ) \
   .otherwise(F.col("id"))
) 

总之,有时我成功地运行了数据集,有时我没有。它似乎撞坏了我的司机。这是因为withColumn语句太多而导致的问题吗?我的理解是,这不应该导致收取,因此可以对工人独立执行,对吗?此外,数据集本身没有很多行,大约25000行。还是我解决问题的方式有问题?我应该重写withColumn语句吗?如何找出问题所在?

如何显示更多代码和错误。他们应该是在工人/执行者身上运行的,我猜是吧。请分享你的其他代码片段。这与列语句无关。嗨,伙计们,我想我发现了问题。在代码的末尾,我做了一个正向填充,因为有一列缺少值,这显然是造成问题的原因。我解决这个问题的方法是,在使用F.last(…)进行正向填充之前,我运行了一个select,它只返回我真正需要的列。现在它起作用了。我想,由于数据集只有30000行,这不会让驱动程序崩溃,但显然是这样。