如何制作并有效运行“空” PySpark用户定义函数(UDF),该函数什么也不返回?

时间:2019-01-17 18:42:08

标签: apache-spark pyspark pyarrow

给出在PySpark中指定用户定义函数的可用方法:

  • 一次一行的本地PySpark UDF
  • 使用Apache Arrow的熊猫UDF

一个如何在数据帧上创建并运行一个用户定义的函数,而无需创建新列就不会返回任何内容?

示例:说您想并行地将数据框列加载到某些外部持久性存储中。即与其将整个数据帧写入HDFS,还不如将一个字段用作键,将另一个字段用作将行逐行传输到blob存储区(例如s3)中的值。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您根本不会使用UDF。由于多种原因,该任务不适合该任务。相反,您只需使用foreach

  

foreach(f)

     

将f函数应用于此DataFrame的所有行。

foreachPartition

  

foreachPartition(f)

     

将f函数应用于此DataFrame的每个分区。