Apache spark 验证并替换元组中的任何值

Apache spark 验证并替换元组中的任何值,apache-spark,Apache Spark,如何验证和替换元组中的所有值。在下面的示例中,每当元素值为NA时,我希望用0替换元组中的所有元素。 它们是否有任何通用语句,而不是单独验证元素 例如: 样本数据 2003,1,29,3165116519121913,UA,1017,N202UA,141138119,-1,-4,ORD,MSY,837,5,17,0,NA,0,NA,NA,NA,NA,NA 2003,1,30,41654165519101913,UA,1017,N311UA,136138108,NA,NA,ORD,MSY,837,2

如何验证和替换元组中的所有值。在下面的示例中,每当元素值为NA时,我希望用0替换元组中的所有元素。 它们是否有任何通用语句,而不是单独验证元素

例如:

样本数据

2003,1,29,3165116519121913,UA,1017,N202UA,141138119,-1,-4,ORD,MSY,837,5,17,0,NA,0,NA,NA,NA,NA,NA 2003,1,30,41654165519101913,UA,1017,N311UA,136138108,NA,NA,ORD,MSY,837,2,26,0,NA,0,NA,NA,NA,NA,NA

渴望的 c=(1017,-1,-4,作战需求量,最大持续时间)(1017,0,0,作战需求量,最大持续时间)


在RDD上使用过滤器而不是映射。

要替换哪个元组项?映射中只有一个元组,我希望所有人都验证元组中的所有元素。我不了解问题所在。请澄清一下。使用平面贴图,而不是第一个贴图。什么是
b
?你能给我一个样品吗?你能举一个输入和期望输出的例子吗?你似乎在试图映射一个元组(在外部Spark
map
中)。这个问题可能是相关的:这是试图回答OP的问题,还是仅仅是一个建议?你能详细说明一下吗?你可以在Scala中使用DataFrame.na.fill()方法,在Python中使用DataFrame.fillna()方法。以下是相关链接:Scala:Python:
b= RDD[String]
val c = b.map( x => x.split(",")).map(x => (x(9),x(14),x(15),x(16),x(17))).map(x => if (_._ == "NA") "0" else _._)