當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。