使用Lambda函数处理异常输出

时间:2019-02-23 04:21:54

标签: lambda pyspark rdd

我有以下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))]

如果没有其他条件,我尝试了此操作,但它抛出了一个错误:

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)]

0 个答案:

没有答案