Вы присваиваете результат show () переменной output и show () не возвращает значение.
Итак, вы хотите присвоить Dataframe переменной output
, а затем сохранить его следующим образом:
data.registerTempTable("data")
output = spark.sql("SELECT col1,col2,col3 FROM data")
output.write.format('.csv').save("D:/BPR-spark/sourcefile/filtered.csv")