我将 Jupyter Notebook 与 PySpark 一起使用。在其中,我有一个数据框,该数据框具有包含这些列的列名和类型(整数,...)的模式。现在我使用 flatMap 之类的方法,但这会返回一个不再具有固定类型的元组列表。有没有办法做到这一点?
df.printSchema()
root
|-- name: string (nullable = true)
|-- ...
|-- ...
|-- ratings: integer (nullable = true)
然后我使用 flatMap 对评级值进行一些计算(在此混淆):
df.flatMap(lambda row: (row.id, 5 if (row.ratings > 5) else row.ratings))
y_rate.toDF().printSchema()
现在我得到一个错误:
TypeError:无法推断类型的架构:
有没有办法通过保留模式来使用 map/flatMap/reduce?或者至少返回具有特定类型值的元组?