Spark 3.1 引入了 python 的类型提示(万岁!),但我很困惑为什么 toPandas 方法的返回类型是“DataFrameLike”而不是 pandas.DataFrame - 请参阅此处: https: //github.com/apache/spark/ blob/master/python/pyspark/sql/pandas/conversion.pyi
因此,如果我尝试在调用 toPandas 的结果的对象上使用任何 pandas df 方法,mypy 会抛出各种错误。例如
df = spark_df.toPandas()
df.to_csv(out_path, index=False)
Run Code Online (Sandbox Code Playgroud)
结果出现错误消息
error: "DataFrameLike" has no attribute "to_csv"
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?