2017-09-15 54 views
-1

星火Scala的API有Dataset#transform方法,可以很容易鏈定製數據幀的轉換等,使得這相當於Scala的數據集#:Pyspark變換方法變換方法

val weirdDf = df 
    .transform(myFirstCustomTransformation) 
    .transform(anotherCustomTransformation) 

我沒有看到同等transform方法爲pyspark in the documentation

是否有pyspark的方式來鏈接自定義轉換?

如果不是,那麼pyspark.sql.DataFrame類如何修補猴子以添加transform方法?

回答

1

實現:

from pyspark.sql.dataframe import DataFrame 

def transform(self, f): 
    return f(self) 

DataFrame.transform = transform 

用法:

spark.range(1).transform(lambda df: df.selectExpr("id * 2"))