**已关闭。**此问题需要debugging details。它目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
2个月前关闭。
Improve this question
我有一个map类型Map[String,String],当我需要过滤几个键时,它没有关键字Some
。当key不包含Some
时,我需要从Map中删除这些key。
举例来说:
scala> for ((k,v) <- map) println(s"key: $k, value: $v")
key:List(DoubleMetric(Column,Completeness,Some((first IS NOT NULL),value:0.6666666666666不符合限制要求
key:List(DoubleMetric(Column,Uniform,Some(CASE WHEN(count()OVER(PARTITION BY first unspecifiedframe$())= 1)THEN true ELSE false END),value:None键:List(DoubleMetric(Column,Minimum,Some(CAST(year AS DOUBLE),值:没有一
key:List(DoubleMetric(Column,Compliance,,Some(CAST((COALESCE(CAST(year AS DECIMAL(20,10),0.0)>= 0)AS INT),value:None键:List(DoubleMetric(Column,Maximum,Some(CAST(year AS DOUBLE),值:1991.0不符合约束要求!
key:List(DoubleMetric(Column,Compliance,Some(CAST((id IS NULL)OR(id IN(1,2,3,4,5)AS INT),value:0.6666666666666不符合约束要求!
key:List(DoubleMetric(Dataset,Size,*,Success(3.0),None)),value:3不符合约束条件!
预期结果:
key:List(DoubleMetric(Column,Completeness,Some((first IS NOT NULL),value:0.6666666666666不符合限制要求
key:List(DoubleMetric(Column,Uniform,Some(CASE WHEN(count()OVER(PARTITION BY first unspecifiedframe$())= 1)THEN true ELSE false END),value:None键:List(DoubleMetric(Column,Minimum,Some(CAST(year AS DOUBLE),值:没有一
key:List(DoubleMetric(Column,Compliance,,Some(CAST((COALESCE(CAST(year AS DECIMAL(20,10),0.0)>= 0)AS INT),value:None键:List(DoubleMetric(Column,Maximum,Some(CAST(year AS DOUBLE),值:1991.0不符合约束要求!
key:List(DoubleMetric(Column,Compliance,Some(CAST((id IS NULL)OR(id IN(1,2,3,4,5)AS INT),value:0.6666666666666不符合约束要求!
我试过filterKeys
方法。但它并没有像预期的那样工作。需要帮助!
1条答案
按热度按时间62lalag41#
看看你的输出,并对你的类型做最小的假设,我相信这就是你想要的: