如何在自定义 PySpark ML Pipeline _transform() 方法中创建 Spark DataFrame?
How to create a Spark DataFrame inside a custom PySpark ML Pipeline _transform() method?
在 Spark 的 ML Pipelines 中,transformer 的 transform()
方法采用 Spark DataFrame
和 returns DataFrame
。我的自定义 _transform()
方法使用传入的 DataFrame 在处理之前创建 RDD。这意味着我的算法的结果必须在从 _transform()
.
返回之前转换回 DataFrame
那么我应该如何从 _transform()
中的 RDD 创建 DataFrame?
通常我会使用 SparkSession.createDataFrame()
. But this means passing a SparkSession
instance, spark
, into my custom Transformer
somehow (or a SqlContext
object). And this in turn can create ,例如在尝试将转换器用作 ML 管道中的一个阶段时。
原来在里面做这个很简单 _transform()
:
yourRdd.toDF(yourSchema)
架构是可选的。我希望我能给你一个 link 到 toDF()
但由于某些原因它似乎没有包含在 https://spark.apache.org/docs/2.2.0/api/python/pyspark.html#pyspark.RDD 下。也许这是一个继承的方法?
我之前还测试过将 SparkSession
对象传递到我的 Transformer
并对其调用 createDataFrame()
。有用但没必要。
在 Spark 的 ML Pipelines 中,transformer 的 transform()
方法采用 Spark DataFrame
和 returns DataFrame
。我的自定义 _transform()
方法使用传入的 DataFrame 在处理之前创建 RDD。这意味着我的算法的结果必须在从 _transform()
.
那么我应该如何从 _transform()
中的 RDD 创建 DataFrame?
通常我会使用 SparkSession.createDataFrame()
. But this means passing a SparkSession
instance, spark
, into my custom Transformer
somehow (or a SqlContext
object). And this in turn can create
原来在里面做这个很简单 _transform()
:
yourRdd.toDF(yourSchema)
架构是可选的。我希望我能给你一个 link 到 toDF()
但由于某些原因它似乎没有包含在 https://spark.apache.org/docs/2.2.0/api/python/pyspark.html#pyspark.RDD 下。也许这是一个继承的方法?
我之前还测试过将 SparkSession
对象传递到我的 Transformer
并对其调用 createDataFrame()
。有用但没必要。