首页 > 解决方案 > 使用 Lambda 函数处理异常输出

问题描述

我有以下 RDD,我需要在元组中的两个整数之间执行除法运算。但是,有些除法运算是 0/0。

rdd=[('f10.txt', (0.0, 0.0)),
 ('f1.txt',
  (0.002195968354828256, 0.0672428463151798)),
 ('8.txt', (0.0, 0.0)),
 ('f3.txt',
  (0.0014248992750671376, 0.06494950445087552)),
 ('f9.txt', (0.0, 0.0))]

我尝试了这个 if else 条件,但它给我一个错误:

rdd=rdd.map(lambda x : (x[0],x[1][0]/x[1][1] int(s) if s.isdigit() else 0)    )

我想要的输出是:

rdd=[('f10.txt', 0),
     ('f1.txt',
      0.0343497),
     ('8.txt', 0),
     ('f3.txt',
      0.047558),
     ('f9.txt', 0)]

标签: lambdapysparkrdd

解决方案


推荐阅读