К сожалению, такой опции нет.Схема должна быть известна статически, прежде чем какой-либо компонент будет оценен, поэтому любой вывод формы, основанный на реальных данных, просто отсутствует в таблице.
Если внутренний процесс каким-то образом основан на генерации кода, лучшим вариантом будет интеграциягенерация логики и схемы.Например
def describe(cols, fun):
schema = StructType([StructField(c, DoubleType()) for c in cols])
@pandas_udf(schema, PandasUDFType, PandasUDFType.GROUPED_MAP)
def _(df):
return df[cols].agg([fun])
return _
df = spark.createDataFrame([(1, 2.0, 1.0, 3.0), (1, 4.0, 2.0, 5.0)], ("id", "x", "y", "z"))
df.groupBy("id").apply(describe(["x"], "mean")).show()
# +---+
# | x|
# +---+
# |3.0|
#+---+
df.groupBy("id").apply(describe(["x", "y"], "mean")).show()
# +---+---+
# | x| y|
# +---+---+
# |3.0|1.5|
# +---+---+