apache-spark - 相当于 Scala Dataset#transform 方法的 Pyspark 变换方法

标签 apache-spark pyspark apache-spark-sql apache-spark-dataset

Spark Scala API 有一个 Dataset#transform可以轻松链接自定义 DataFrame 转换的方法,如下所示:

val weirdDf = df
  .transform(myFirstCustomTransformation)
  .transform(anotherCustomTransformation)
我没有看到等效的 transform pyspark in the documentation 的方法.
是否有 PySpark 方式来链接自定义转换?
如果没有,怎么能pyspark.sql.DataFrame类被猴子修补添加一个 transform方法?
更新
变换方法是added to PySpark截至 PySpark 3.0 .

最佳答案

执行:

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"))

关于apache-spark - 相当于 Scala Dataset#transform 方法的 Pyspark 变换方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46247315/

相关文章:

azure - 无法从 Spark/scala 中的 jupyter 堆栈容器创建到 azure 存储帐户的客户端

apache-spark - 推断 Pyspark 架构

scala - 为什么方法参数会导致 Mockito 的 NotSerializableException?

apache-spark - Apache Spark中如何实现任务的动态负载均衡

java - 如何在 Apache Spark 中重置 MapReduce 函数上的迭代器

apache-spark - SparkContext对象没有属性esRDD(elasticsearch-spark连接器)

apache-spark - 为什么我的 shuffle 分区在 group by 操作期间不是 200(默认)? ( Spark 2.4.5)

apache-spark - PySpark 截断小数

apache-spark - Spark 中的 JSON 到数据集

apache-spark - Spark Join 在列中返回空值