任何人都可以解释以下行为吗?
import pyspark.pandas as ps
loan_information = ps.read_sql_query([blah])
loan_information.shape
#748834, 84
loan_information.apply(lambda col: col.shape)
#Each column has 75 dimensions. The first 74 are size 10000, the last is size 8843
#This still sums to 748834, but hardly seems like desirable behavior
我的猜测是大小为 10000 的批次被提供给执行者,但是,再一次,这似乎是非常不受欢迎的行为。
文档很清楚:
当 axis 为 0 或‘index’时,函数无法访问整个输入序列。 pandas-on-Spark 在内部将输入序列分成多个批次,并多次调用每个批次的 func。因此,全局聚合等操作是不可能的。请参阅下面的示例。
.apply
用于非聚合函数,如果你想做聚合类型的函数,使用像.aggregate