Eri*_*c J 4 python function dataframe pyspark
我最近正在解决一些编码挑战,涉及将 Spark 数据帧传递到 Python 函数并返回一个新的数据帧。我记得的语法是这样的:
def sampleFunction(df: Dataframe) -> Dataframe:
* do stuff *
return newDF
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试创建自己的示例,但无法将数据帧指定为输入/输出类型。我假设我需要导入一些东西来使 dataframe 成为可接受的类型,但在过去的一个小时里我一直在 Google 上搜索这个内容,但我找不到一个关于如何在 PySpark 中实现此功能的示例。
您需要DataFrame在代码中导入类型,并使用数据类型名称而DataFrame不是代码中提到的Dataframe
>>> from pyspark.sql import DataFrame
>>> def sampleFunction(df: DataFrame) -> DataFrame:
... df1 = df.withColumn("necol", lit(1))
... return df1
...
>>> from pyspark.sql.functions import *
>>> df.show()
+---------+----------+----------+
|DEVICE_ID| MIN_DATE| MAX_DATE|
+---------+----------+----------+
| 1|2019-08-29|2019-08-31|
| 2|2019-08-27|2019-09-02|
+---------+----------+----------+
>>> newdf = sampleFunction(df)
>>> newdf.show()
+---------+----------+----------+-----+
|DEVICE_ID| MIN_DATE| MAX_DATE|necol|
+---------+----------+----------+-----+
| 1|2019-08-29|2019-08-31| 1|
| 2|2019-08-27|2019-09-02| 1|
+---------+----------+----------+-----+
Run Code Online (Sandbox Code Playgroud)