映射和过滤RDD时如何传递多个参数?
How to pass multiple arguments when mapping and filtering RDD?
我目前有这一行来过滤并将函数应用于 RDD。
data_to_update.rdd.map(find_differences).filter(lambda row: bool(row))
我想修改 find_differences
函数,使其在 row
之外还接受另一个参数 unique_id
。我不确定如何着手修改这一行来做到这一点,或者是否有更好的方式来编写它。
假设您当前的函数如下所示:
def find_differences(row):
# do something
return result
您可以创建一个新函数和一个与您的原始函数匹配的部分函数:
from functools import partial
def find_differences_id(unique_id, row):
# do something else
return another_result
find_differences = partial(find_differences_id, unique_id)
并像以前一样映射 RDD。
我目前有这一行来过滤并将函数应用于 RDD。
data_to_update.rdd.map(find_differences).filter(lambda row: bool(row))
我想修改 find_differences
函数,使其在 row
之外还接受另一个参数 unique_id
。我不确定如何着手修改这一行来做到这一点,或者是否有更好的方式来编写它。
假设您当前的函数如下所示:
def find_differences(row):
# do something
return result
您可以创建一个新函数和一个与您的原始函数匹配的部分函数:
from functools import partial
def find_differences_id(unique_id, row):
# do something else
return another_result
find_differences = partial(find_differences_id, unique_id)
并像以前一样映射 RDD。