0
私はDataFrameをウィンドウに分割しようとしています。そして、すべての列とウィンドウに対してSparkのPythonインタフェースを使ってカスタム関数(udf)を使います。これはうまくいきませんPysparkはウィンドウのUDFを定義します
w = Window().partitionBy(["col"]).rowsBetween(-sys.maxsize, sys.maxsize)
def median_polish(rows, cols, values):
// shape values as matrix defined by rows/cols
// compute median polish
// cast matrix back to vector
return values
med_pol_udf = func.udf(median_polish, DoubleType())
for x in df.columns:
if x.startswith("some string"):
df = df.withColumn(x, med_pol_udf("rows", "cols", x).over(w))
これはまったく可能ですか?または、Scalaでこれを行う必要がありますか?