Use of Random Forest algorithm in PySpark for imputation
You can do the following: use all the other features as input and the missing data as the label.

Train using all the rows that have the column filled with data and classify the others that don't. Use the values predicted by the Random Forest as the value of that field on the subsequent models and transformations.