当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PySpark DataFrame foreach方法用法及代码示例


PySpark DataFrame 的 foreach(~) 方法将 DataFrame 的每一行作为 Row 对象进行循环,并将给定函数应用于该行。

警告

以下是 foreach(~) 的一些限制:

  • Spark中的foreach(~)方法是在工作节点而不是Driver程序中调用的。这意味着,如果我们在函数内执行print(~),我们将无法在会话或笔记本中看到打印结果,因为结果打印在工作节点中。

  • 行是只读的,因此您无法更新行的值。

鉴于这些限制,foreach(~) 方法主要用于将每行的一些信息记录到本地计算机或外部数据库。

参数

1. f | function

应用于 DataFrame 的每一行 (Row) 的函数。

返回值

什么也没有返回。

例子

考虑以下PySpark DataFrame:

df = spark.createDataFrame([["Alex", 20], ["Bob", 30]], ["name", "age"])
df.show()



+----+---+
|name|age|
+----+---+
|Alex| 20|
| Bob| 30|
+----+---+

要迭代每一行并应用一些自定义函数:

# This function fires in the worker node
def f(row):
 print(row.name)
df.foreach(f)

在这里,row.name 打印在工作节点中,因此您不会在驱动程序中看到任何输出。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark DataFrame | foreach method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。